python GUI编程(PyQt)系列:初识GUI代码
前面我们介绍了python界面编程的软件安装以及配置,在学完前面两节之后,我们就可以着手进行界面设计和代码编写了,本节开始我们就来逐步解开python界面编程的神秘面纱!
我们这里以建立MainWindow为例,在打开Qt Designer的时候选择MainWindow,然后点击Create后即可建立一个MainWindow对象,如下图所示:
建立MainWindow界面首先:建立MainWindow后根据需要拖入对应的对象,如下图所示,在这个MainWindow中加入了两个text Edit文本框,五个Push button按钮,然后根据自己的需要分别修改对应的对象名称和显示名称。
MainWindow示例添加完成后将其保存为以.ui为后缀的文件(改文件另存到你建立的项目中,如果直接保存的话,是保存到了PyQt5_Tools的路径里面去了,和designer在同一目录),我这里将其保存在当前应用的一个项目中,名字为bom_compare.ui。保存成功后再打开pycharm界面,即可看到该文件。如下图:
在项目中显示的.ui文件其次,将对应的.ui文件生成python文件(.py):该过程其实比较简单,就是在项目中找到对应的.ui文件,然后右键单击改文件,找到并点击pyUIC,即可将对应的.ui文件生成对应的.py文件(如果已经有对应的.py文件,则会对其内容进行更新,没有对应的.py文件,则新增改文件)。如下图所示:
将.ui文件生成.py文件的方法、下面,我们来看看生成的.py文件的内容有哪些?如下图所示:
通过.ui文件生成的.py文件所包含的内容通过.ui文件生成的.py文件所包含的内容由此我们可以看见,在生成的文件中建立了一个class Ui_MainWindow(object):
,里面包含两个函数(接口),包含了我们在界面设计中所输入的按钮以及编辑框所有内容。包括设计的界面大小、按钮名称等,这样我们只需要建立一个主函数文件来对这些东西进行调用以及功能补充就可以了。
通过上述讲解,热身终于结束,开始我们代码编写之旅。
首先,我们需要建立一个main函数文件,名字自己任意取,在该文件中,按照变现python文件的习惯,将编写代码所需要的各个模块导入,如下图所示:
主要功能文件的讲解1然后就是代码实操部分了,首先我们要定义一个类,将界面文件和实际功能连接起来,当然,开始时别忘记初始化函数,以下是代码示例:
# =============================================================================# # 对各种功能进行定义# =============================================================================class MainFunc(QMainWindow, bom_compare.Ui_MainWindow):#初始化函数def __init__(self):QMainWindow.__init__(self)self.setupUi(self)self.BOMfilecompare.clicked.connect(self.compare_excel)self.open_file1.clicked.connect(self.getcompFileName1)self.open_file2.clicked.connect(self.getcompFileName2)self.open_result_file.clicked.connect(self.open_file)self.clear_result_file.clicked.connect(self.clear_file)
初始化函数最主要的目的就是指明哪个按钮(也可以是其他功能键)连接到那个函数,前面self.后面的相当于是按键名称,括号里面self.后面的是指定的连接函数,通过链接函数来实现各种功能。
当各种功能都实现了之后,最后就要通过如下函数来调用整个函数的过程了,具体代码如下(MainWindow 的调用示例):
if __name__ == '__main__':app = QApplication(sys.argv)MainWindow = MainFunc() # 新建窗口MainWindow.show() # 显示sys.exit(app.exec_())
当然,光是上面部分的内容是不足以支撑该项目的运行的,因为还没有在
MainFunc(QMainWindow, bom_compare.Ui_MainWindow)中
加入getcompFileName1、compare_excel这些函数的代码,等加入了之后才能够实现相应的功能,我们将在下一节做介绍!
喜欢类似的内容,就多多点赞关注鼓励一下吧,祝各位生活愉快!
举报/反馈
最近更新基础教育
- 聚焦中心任务 强化精准指导 确保第二批主题教育取得高质量好效果
- 郑州:到2025年,职业院校毕业生留郑率将超六成
- 普陀一小区拆除重建工作加速推进
- 官宣!江苏新增5所四星级高中
- 波士顿大学金融硕士排名靠前吗
- 成人自考考试地点是根据什么安排的?
- 彩色“毛衣”扮靓路边梧桐 南外师生发起“我们的梧桐”城市艺术公益活动
- 武向平院士助力首届四川省“科创筑梦”青少年科学节
- 长城热点|河南安阳滑县安罗高速高速公路建设非法取土
- 王易副校长赴广西参加定向选调生及引进高水平大学博士座谈会并看望校友
- 四川成考中遇到不会作答的题该怎么做呢?
- “外国语学院人才培养共同体联盟”在江苏科技大学组建
- 长沙市人社局前往长沙市数字技能人才公共实训基地考察
- 百姓看联播丨提速啦!坐着高铁去滑雪丨燃起来!足球小将
- 闵行专家!落户新疆这里→丨一家亲
- 严查遛狗不拴绳!郑州多个小区发布“文明养犬”提醒
- 对话高途大学生业务负责人刘文勇:AI数字人是集团三大战略之一,未来或是千亿级市场
- 北京市2023年下半年高等教育自学考试提示
- 没有大专毕业证可以自考本科吗?
- 奥运冠军自曝:需终身佩戴呼吸机!协和专家提醒,这病危险,得治!
- 这场培训,给崇明这群人送上一份“安全大餐”
- 5∶0零封法国波尔多大学女足 北师大女足挺进决赛
- 托福总成绩是多少分
- 原“暨南大学全球青年领导力研究院院长”被举报“猥亵”?本人回应称系双方自愿行为
- 前三季度五粮液继续保持稳健发展态势