本文主要是介绍<Python><PyQt5>基于python使用PyQt5编写UI时,如何在单独的文件里构建菜单项然后调用?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
本文纯作为记录,但如果恰好有相同需要的朋友,也可以看看。本文实现的是,使用PyQt5时,如果需要添加menu项,但不想把所有元素都写在一个主程序文件中,部件太多的话,程序臃肿,因此需要剥离一些部件项,如菜单栏,可以在单独的文件中编写,然后在主程序文件中调用即可。
环境配置:
系统:windows
平台:vscode
语言:python
库:pyqt5
程序实现
首先,我们新建一个py文件,命名为menuset.py,然后编写一个class类:
from PyQt5.QtWidgets import *class menulist():def __init__(self,root:QMainWindow):self.root=rootdef menuUI(self):menubar=self.menuBar()menu_file=menubar.addMenu('文件')file_open=QAction('打开',self)menu_file.addAction(file_open)file_close=QAction('关闭',self)menu_file.addAction(file_close)file_new=QAction('新建',self)menu_file.addAction(file_new)file_save=QAction('保存',self)menu_file.addAction(file_save)menu_edit=menubar.addMenu('编辑')edit_copy=QAction('复制',self)menu_edit.addAction(edit_copy)edit_cut=QAction('剪切',self)menu_edit.addAction(edit_cut)edit_paste=QAction('粘贴',self)menu_edit.addAction(edit_paste)menu_view=menubar.addMenu('查看')menu_help=menubar.addMenu('帮助')help_about=QAction('关于',self)menu_help.addAction(help_about)help_version=QAction('版本',self)menu_help.addAction(help_version)file_open.triggered.connect(self.file_open_func)file_close.triggered.connect(self.file_close_func)edit_copy.triggered.connect(self.edit_copy_func)edit_cut.triggered.connect(self.edit_cut_func)help_about.triggered.connect(self.help_about_func)help_version.triggered.connect(self.help_version_func)return menubar
上面的代码里,有一个要注意的地方,就是菜单项的槽信号关联的函数,是写在主程序文件中的:
def file_open_func(self):print("dk")def file_close_func(self):self.close()def edit_copy_func(self):print("dk")def edit_cut_func(self):print("dk")def help_about_func(self):print("dk")QMessageBox.about(self,"关于","这是一个简单的文本编辑器")def help_version_func(self):print("dk")QMessageBox.about(self,"版本","v1.0")
我们编写好menuset代码后,在主程序文件里调用它:
from menuset import menulist
#导入菜单项self.menubar1=menulist.menuUI(self)
可以看到,主程序里面只需要调用函数即可,非常简洁,而菜单项的创建都是在单独的文件里完成的,这样一来,程序就显得比较标准化了。
我们来看一下演示:
稍后添加
这篇关于<Python><PyQt5>基于python使用PyQt5编写UI时,如何在单独的文件里构建菜单项然后调用?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!