यह तुम सब करने की जरूरत है अपने बटन हैंडलर में QApplication.keyboardModifiers जाँच कर रहा है, और के रूप में उपयुक्त एक अलग कार्रवाई का चयन की तरह दिखता है:
from PyQt4 import QtGui, QtCore
class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.button = QtGui.QPushButton('Test', self)
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__':
import sys
app = QtGui.QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
(एनबी: various modifiers आदेश की जाँच करने में एक साथ OR'd किया जा सकता है बहु-कुंजी संयोजन के लिए)।
देखें http://stackoverflow.com/questions/3100090/howto-detect-the-modifier-key-on-mouse-click-:
इस समाधान का मूल चर्चा के लिए यहां जाएं इन-क्यूटी – Tanriol
क्या आपका मतलब है कि आप आदेश चलाने के लिए 'माउसक्लिक + मॉडिफायर' का उपयोग करना चाहते हैं? और "गतिशील स्ट्रिंग गुण" का क्या अर्थ है? – ekhumoro
नमस्ते, मेरा मतलब था कि जब कोई व्यक्ति क्यूटी ui में एक बटन क्लिक करता है तो यह ctrl क्लिक से बस एक अलग कार्रवाई करता है या केवल नियमित क्लिक करता है। – user1087058