只有 Key_Tab &ShiftModifier 不适用于 PySide [英] Only Key_Tab & ShiftModifier does't work well with PySide

查看:43
本文介绍了只有 Key_Tab &ShiftModifier 不适用于 PySide的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我搜索了其他问题,但找不到解决方案.

I searched other Questions and couldn't find out the solution.

我想同时执行 Tab 键和 Shift 操作,因为我想通过按 Tab 键来添加新的性能.我知道 Shiftmodifier 枚举很好.但是当key是Tab键的时候就不行了,你知道怎么控制吗?另一方面,Controlmodifier 运行良好.

I want to execute Tab key and Shift operation simultaneously because I want to add a new performance by pressing tab key.I know the Shiftmodifier enum is good. But it doesn't work when the key is Tab key.Do you know how to control it? On the other hand,Controlmodifier works well.

当我按下 Tab 键时

tab only

当我按下 Tab &控制键

tab & Control

当我按下除 Tab & 以外的任意键时Shift 键

print("tab & any key except for tab key")

当我按下 Tab &Shift 键

没有反应...为什么?

No Response... Why?

示例代码

from PySide import QtGui
from PySide import QtCore
import sys

class TSEditer(QtGui.QTextEdit):
    def __init__(self,parent=None):
        super(TSEditer,self).__init__(parent=None)

    def keyPressEvent(self,event):


        if event.key() == QtCore.Qt.Key_Tab and event.modifiers() == QtCore.Qt.ControlModifier:
            print("tab & control")
        elif event.key() == QtCore.Qt.Key_Tab and event.modifiers() == QtCore.Qt.ShiftModifier:
            print("tab & shift")
        elif event.key() == QtCore.Qt.Key_A and event.modifiers() == QtCore.Qt.ShiftModifier :
            print("tab & any key except for tab key")
        elif event.key() == QtCore.Qt.Key_Tab:
            print("tab only")

        return QtGui.QTextEdit.keyPressEvent(self,event)

def main():
    try:
        QtGui.QApplication([])
    except Exception as e:
        print(15,e)
    ts = TSEditer()
    ts.show()
    sys.exit(QtGui.QApplication.exec_())
if __name__ == "__main__":
    main()

推荐答案

应该是if event.key() == QtCore.Qt.Key_Backtab:

即Key_Backtab 是 Tab 和 Shift 的组合

i.e. Key_Backtab is combination of Tab and Shift

这篇关于只有 Key_Tab &ShiftModifier 不适用于 PySide的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆