python - 将按键修饰符与搅拌器模式一起使用

标签 python modal-dialog operator-keyword blender bpy

如果我持有 key ,有谁知道如何让模态做不同的事情? 这就是我现在所拥有的:

        if event.type == 'MOUSEMOVE': 
            if event.type == 'LEFT_SHIFT' and event.value == 'PRESS':
                self.value = (event.mouse_region_x - self.mouse_x_initial)
                print(self.value)

            self.value = event.mouse_region_x - self.mouse_x_initial

最佳答案

event参数具有 ctrlaltshiftoskey 的 bool 属性。测试这些以了解事件发生时是否按住其中一个键。

def modal(self, context, event):
    if event.type == 'MOUSEMOVE':
        if event.ctrl:
            print('Ctrl is down')
        if event.shift:
            print('shift is down')
        if event.alt:
            print('alt is down')
    elif event.type == 'ESC':
        return {'CANCELLED'}
    return {'RUNNING_MODAL'}

由于 bool 属性不区分左键和右键,因此您需要保留上一个事件的记录,并检查该记录以了解如果您希望它们以不同的方式工作,则应采取哪个操作。

关于python - 将按键修饰符与搅拌器模式一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45909657/

相关文章:

javascript - 屏幕中央的 jQuery 和 CSS 定位元素

Android 开始模态 Activity

C++ 和运算符优先级

c++ - 我类的析构函数做错了吗? C++

android - 使用 Android 应用更改网络运营商

python - Pytables。如何迭代唯一值?

python - Telethon 问题,需要从 channel 读取消息

javascript - 无法在 javascript 上打开多个模态图像

python - 终端在 VS Code 中仅显示一个空的不可编辑光标

Python:只检索 POP3 消息文本,没有标题