根据我从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时,它不会创建任何弹出菜单。

我做错了吗?我如何创建一个工具按钮,当用户单击该工具按钮时会创建一个弹出菜单?

最佳答案

ToolButtonPopupModeenumerating type。该枚举中的所有值都是该类型的实例。因为它继承自int,所以用整数调用它会返回相同的整数。但是,您要设置popupMode属性,因此请使用setPopupMode(2)

关于python - Python PyQt QtoolbuttonPopup模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19969295/

10-12 18:01