前言

学习了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_())

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

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐