Есть ли способ сделать QAction
остановиться после нажатия. В идеале он мог переключаться между двумя состояниями: On
(вниз) и Off
(вверх)?Как сделать toggle-able QAction
0
A
ответ
1
Что вы ищете, это кнопка переключения. Это реализовано в Qt с помощью проверяемого свойства: если действие можно проверить, тогда, когда действие будет нажатием кнопки, кнопка является кнопкой переключения; когда действие находится в пункте меню, вы видите галочку; и т. д.
0
action = QtGui.QAction(QtGui.QIcon("myicon.png"),"Action Name", None)
action.setCheckable(True)
action.setStatusTip("Tooltip")
action.setShortcut("Ctrl+D")
action.triggered.connect(actionTrigged)
+2
вы могли бы описать ее - чтобы сделать ответ еще лучше. – furas
http://stackoverflow.com/questions/13506201/how-to-add-check-uncheck-qaction-in-the-context-menu – furas
Я честно не имею копать здесь, но вы на миссию написать весь свой pyqt-код, не прочитав никакой документации? Мне просто интересно, почему вы, по-видимому, потратили на это час, когда вам понадобится всего несколько минут, чтобы проконсультироваться с [Qt docs for QAction] (https://doc.qt.io/qt-4.8/ qaction.html # checked-prop) и найдите все необходимые ответы. В качестве дополнительного бонуса в этом конкретном случае вы также могли бы найти лучший сигнал для использования (т. Е. «Переключено» * или «запустили»). – ekhumoro
Спасибо за подсказку 'toggled' vs' triggered'! Я не в командировке. Мне просто нравится Stackoverflow. – alphanumeric