5.3 QPushButton按钮控件及创建菜单

一、QPushButton按钮控件及创建菜单

1.基本知识

'''
setMenu(QMenu) 设置菜单
menu() 获取菜单
showMenu() 展示菜单
QMenu()继承自QWidget
addMenu(QMenu) 添加子菜单
addSeparator() 添加分割线
addAction(QAction) 添加行为动作
QMenu控件设置:setTitle() setIcon(QIcon)
QAction设置:setText() setIcon(QIcon) 信号:triggered
'''

2.代码

from PyQt5.Qt import *
import sys


app = QApplication(sys.argv)

window = QWidget()
window.setWindowTitle('QPushButton - PyQt5中文网')
window.resize(600, 450)
window.move(300, 300)

# ==============QPushbutton的构造函数=============== # 代码分割线 - 开始
# btn1 = QPushButton()        #按钮会当作单独的页面 会有两个页面
# btn2 = QPushButton(window)  #会在window中生成一个按钮
# btn3 = QPushButton('按钮',window)#会在window中生成一名称为‘按钮’的控件
#1.创建按钮
btn4 = QPushButton(QIcon('aaa.png'), '按钮', window)#会在window中生成一名称为‘按钮’,图标为aaa
# ==============QPushbutton的构造函数=============== # 代码分割线 - 结束

# ==============控件菜单设置=============== # 代码分割线 - 开始
# 流程参考test.py
# 2.创建菜单对象
menu = QMenu()
# 3.创建子菜单
sun_menu = QMenu(menu)
sun_menu.setTitle('子菜单标题') #设置子菜单标题
# 4.构造一个菜单
menuAction1 = QAction(QIcon('aaa.png'), '菜单1', window)
#menuAction1.triggered.connect(lambda : print('WWWWWW'))

menuAction2 = QAction(QIcon('aaa.png'), '菜单2', window)
#menuAction2.triggered.connect(lambda : print('SSSSSSSS'))

menuAction3 = QAction(QIcon('aaa.png'),'菜单3', window)
#menuAction3.triggered.connect(lambda : print('AAAAA'))

sun_menuAction = QAction(QIcon('aaa.png'), '子菜单1', window)

# 5.添加菜单列表
menu.addAction(menuAction1)
menu.addAction(menuAction2)
menu.addSeparator()  # 添加分割线
# 6.添加子菜单列表
menu.addMenu(sun_menu)  # 先在主菜单栏中添加一个子菜单
sun_menu.addAction(sun_menuAction)  # 然后为上面的子菜单添加子菜单
menu.addAction(menuAction3)
# 7.为按钮添加菜单
btn4.setMenu(menu)
# btn4.showMenu()  # 继承与QWidget所以可以单独展示
# ==============控件菜单设置=============== # 代码分割线 - 结束

window.show()
btn4.showMenu()
sys.exit(app.exec_())

3.运行结果

posted @   Trouvaille_fighting  阅读(1135)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示

目录导航