qtdesigner添加菜单栏工具栏及监听事件


前言

学习了qtdesigner菜单栏和工具栏的有关知识,在此记录下来,方便以后参考。


一、添加菜单栏

创建Main Window的新窗体
在这里插入图片描述
创建之后会默认帮你创建菜单栏
在这里插入图片描述
之后双击就可以添加新的菜单项
在这里插入图片描述
如上图,双击菜单子项就可以添加对应的菜单项的子项
注意,这里会有个小bug,就是你直接双击之后是输入不了中文的,要先随便输入一个数字或者字母之后,再在动作编辑器里面修改名字为中文
在这里插入图片描述
在这里插入图片描述
单纯的文字看起来界面过于单调,可以添加些图标使得页面更加美观(注意:只能对应动作,即上面所说的菜单子项添加图标)
双击对应动作,在图标那些选择图标文件
在这里插入图片描述
之后可以看到图标已经添加上去了
在这里插入图片描述

二、添加工具栏

选择窗口类,右键点击,选择添加工具栏
在这里插入图片描述
如何添加工具栏里面的内容呢?其实工具栏里面放的也是动作,在动作编辑器里面选中刚刚新建的动作,然后拖到工具栏里面即可。
在这里插入图片描述

三、动作点击事件监听

按照上面的方法多创建一个动作,命名如下
在这里插入图片描述
保存之后输入下面命令将ui文件转换成py文件(ui文件命名为tool_demo):

pyuic5 -o tool_demo_ui.py tool_demo.ui

注意,转换的代码不能直接运行,需要创建一个py文件去读取界面代码并且展示,代码如下
tool_demo.py

from PyQt5.QtWidgets import QMainWindow, QApplication
import sys

from tool_demo_ui import Ui_MainWindow


class MainWin(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_win = MainWin()
    main_win.show()
    sys.exit(app.exec_())

运行结果:
在这里插入图片描述
动作点击监听函数是triggered,这里设置功能:点击对应动作弹出对应弹窗。
注意:因为菜单栏和工具栏都是同一个动作,所以写一个监听函数就好了
代码修改如下:
tool_demo.py

from PyQt5.QtWidgets import QMainWindow, QApplication, QMessageBox
import sys

from tool_demo_ui import Ui_MainWindow


class MainWin(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        # 调用监听函数
        self.controller()

    # 监听事件都放在这里面
    def controller(self):
        self.network_action.triggered.connect(self.network)
        self.version_action.triggered.connect(self.version)
	
	# 网路动作按钮点击事件
    def network(self):
        QMessageBox.about(self, '网络', '点击了网络动作')
	
	# 版本动作按钮店址事件
    def version(self):
        QMessageBox.about(self, '版本', '点击了版本动作')


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_win = MainWin()
    main_win.show()
    sys.exit(app.exec_())

运行结果:
在这里插入图片描述

有什么问题欢迎在评论区域留言

  • 15
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值