Python PyQt QtoolbuttonPopup mode
Из того, что я понял из интернет-ресурсов, я мог создать всплывающее меню QActions
на Qtoolbar
используя Qtoolbuttonpopup
Режим.
Итак, я создал QMenu
и добавил несколько QActions
к нему с помощью QMenu.addAction
,
После этого я создал QToolButton
и установить ToolButtonPopupMode
в 2
, Затем установите QMenu
я создал выше как меню для него с помощью .setMenu(QMenu)
SettingMenu = QtGui.QMenu()
SettingMenu.addAction(Action1)
SettingMenu.addAction(Action2)
SettingButton = QtGui.QToolButton()
SettingButton.setIcon(QtGui.QIcon(QtGui.QPixmap(':/setting.png')))
SettingButton.ToolButtonPopupMode(2)
SettingButton.setMenu(SettingMenu)
из приведенного выше кода, я ожидаю иметь Qtoolbutton
на моей панели инструментов, и когда я нажимаю на нее, должно появиться меню с 2 действиями. Но когда я запускаю код, я вижу только Qtoolbutton
на моей панели инструментов, но когда я нажимаю Qtoolbutton
это не создает никакого всплывающего меню.
Я делаю это неправильно? Как создать инструментальную кнопку, которая создает всплывающее меню действий при щелчке пользователя?
1 ответ
ToolButtonPopupMode является типом перечисления. Все значения в этом перечислении являются экземплярами этого типа. Поскольку он наследует от int, вызов его с целым числом возвращает то же самое целое число. Однако вы хотите установить свойство popupMode, поэтому используйте setPopupMode(2)
,