仅按键选项卡&;移位修改器执行';我不能很好地与PySide合作

仅按键选项卡&;移位修改器执行';我不能很好地与PySide合作,pyside,Pyside,Pre 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() ==

Pre

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()
我搜索了其他问题,没有找到答案


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

当我按Tab键时

tab only
tab & Control
print("tab & any key except for tab key")
当我按下制表键和控制键时

tab only
tab & Control
print("tab & any key except for tab key")
当我按下除Tab键和Shift键以外的任何键时

tab only
tab & Control
print("tab & any key except for tab key")
当我按下Tab和Shift键时

tab only
tab & Control
print("tab & any key except for tab key")
没有回应。。。为什么?

示例代码

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\u Backtab:

i、 e.键_Backtab是Tab和Shift的组合