根据我从Internet资源中了解到的信息,可以使用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
时,它不会创建任何弹出菜单。我做错了吗?我如何创建一个工具按钮,当用户单击该工具按钮时会创建一个弹出菜单?
最佳答案
ToolButtonPopupMode是enumerating type。该枚举中的所有值都是该类型的实例。因为它继承自int,所以用整数调用它会返回相同的整数。但是,您要设置popupMode属性,因此请使用setPopupMode(2)
。
关于python - Python PyQt QtoolbuttonPopup模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19969295/