PyQt5-如何为按钮设置菜单

时间:2024-10-13 11:00:00

为按钮类QPushbutton,设置菜单的方法。

1.创建顶层窗口及子控件

1、导入模块,创建应用程序对象。自定义控件类继承自QWidget;创建顶层窗口对象,并展示。

PyQt5-如何为按钮设置菜单

2、为窗口添加子控件,QPushButton按钮,并设置初始函数。

PyQt5-如何为按钮设置菜单

2.给按钮添加菜单及菜单行为

1、基本思路是,给按钮设置菜单,然后给菜单添加若干行为。①实例化一个QMenu类对象,例如:menu=QMenu(),②使用setMenu(menu)方法为按钮添加菜单。可以看到,按钮上多了一个下拉箭头。

PyQt5-如何为按钮设置菜单

2、给菜单添加行为。①使用QMenu对象的addAction(action)方法为菜单添加行为。②参数action是 QAction(QIcon,str,parant) 对象。传参前也应实例化,方便后面操作。

PyQt5-如何为按钮设置菜单

3、给行为对象的triggered信号连接槽函数。来实现更多功能。

PyQt5-如何为按钮设置菜单

4、利用以上方法,可以给按钮添加若干行为。

PyQt5-如何为按钮设置菜单

5、为了能使相似的行为,看起来更明了,可以增加分割线分割开来。使用addSeparator()方法。

PyQt5-如何为按钮设置菜单

3.为菜单添加子菜单,及子菜单行为

1、为了使子菜单和菜单的代码区分开来,可以定义一个实例方法,来封装子菜单。①将主菜单menu绑定到实例,以便其他实例函数调用。②创建一个子菜单的实例方法;③在菜单的合适位置调用子菜单实例方法;

PyQt5-如何为按钮设置菜单

2、在实例函数内,为主菜单添加子菜单。方法基本与主菜单步骤一样。①创建一个QMenu对象,作为子菜单,并绑定到主菜单,sub_menu = QMenu('附加菜单',self.menu)②将主菜单添加菜单,参数是绑定到它身上的菜单对象。self.menu.addMenu(sub_menu)

PyQt5-如何为按钮设置菜单

3、给子菜单添加行为。

PyQt5-如何为按钮设置菜单

4、将行为连接信号槽;

PyQt5-如何为按钮设置菜单
© 手抄报圈