为工具按钮(QToolButton)添加菜单的方法,及相关操作。
1.设置窗口及子控件
1、导入模块;创建应用程序对象;创建顶层窗口对象,设置初始属性,并展示。
2、自定义实例函数,封装子控件。
2.设置菜单
1、使用 setMenu(self, QMenu) 方法来为工具按钮设置菜单;----参数是QMenu对象,所以传参前要先实例化一个QMenu对象。----可以看到,工具按钮多了一个下拉的箭头。
2、用 addAction(QAction)方法为菜单添加行为。----参数是QAction对象,故此在给菜单添加行为前应先实例化行为,以便后续操作。----例如:act=QAction(QIcon, str, parent)参数依次是图标,行为名,父对象(即菜单实例)
3、有了行为对象后就可以为菜单添加行为了。例如:menu.addAction(act);参数就是行为对象。可以看到,下拉菜单展示了行为图标和名字;
3.为行为添加信号槽
1、行为对象的QAction的信号是triggered;
4.将菜单框脱离工具按钮
1、在实例mu = QMenu()时,可以给菜单传递一个标题名字参数,或者随后给用setTitle(str),给菜单设置一个标题名字。但菜单挂在工具按钮上是看不到菜单标题的,当菜单脱离工具按钮时才能看到。可以使用menu.setTearOffEnabled(bool)方法将菜单脱离工具按钮。可以看到菜单栏多了一行虚线。
2、鼠标点击虚线,即可将菜单栏脱离工具栏,便可自由拖动,