看起来您需要做的就是检查按钮处理程序中的keyboardModifiers,并根据需要选择其他 *** 作。可以对各种修饰符进行“或”运算以检查多键组合:
PyQt5 :
import sysfrom PyQt5 import QtCore, QtWidgetsclass Window(QtWidgets.QWidget): def __init__(self): super().__init__() self.button = QtWidgets.QPushButton('Test') self.button.clicked.connect(self.handleButton) layout = QtWidgets.QVBoxLayout(self) layout.addWidget(self.button) def handleButton(self): modifiers = QtWidgets.QApplication.keyboardModifiers() if modifiers == QtCore.Qt.ShiftModifier: print('Shift+Click') elif modifiers == QtCore.Qt.ControlModifier: print('Control+Click') elif modifiers == (QtCore.Qt.ControlModifier | QtCore.Qt.ShiftModifier): print('Control+Shift+Click') else: print('Click')if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec())
PyQt4 :
import sysfrom PyQt4 import QtGui, QtCoreclass Window(QtGui.QWidget): def __init__(self): super(Window, self).__init__() self.button = QtGui.QPushButton('Test') self.button.clicked.connect(self.handleButton) layout = QtGui.QVBoxLayout(self) layout.addWidget(self.button) def handleButton(self): modifiers = QtGui.QApplication.keyboardModifiers() if modifiers == QtCore.Qt.ShiftModifier: print('Shift+Click') elif modifiers == QtCore.Qt.ControlModifier: print('Control+Click') elif modifiers == (QtCore.Qt.ControlModifier | QtCore.Qt.ShiftModifier): print('Control+Shift+Click') else: print('Click')if __name__ == '__main__': app = QtGui.QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)