Qt Designer是图形化的ui设计程序
设计的好的ui文件 为 xxx.ui 的格式文件,可以在 python 中直接通过代码调用该文件
案例
# -*- coding = utf-8 -*- # @Time : 2022/9/6 13:25 # @Author : Arthur # @FileName : 加载ui练习.py # @Software : Pycharm import sys from PyQt5 import uic from PyQt5.QtWidgets import QApplication, QWidget class my_window(QWidget): def __init__(self): super(my_window, self).__init__() self.ui = None self.init_ui() def init_ui(self): self.ui = uic.loadUi('./ui/login_sys.ui') # print(self.ui) # 谁? .ui文件中最顶层的对象 Form # print(self.ui.__dict__) # 最顶层对象的所有属性 (key: value方式显示) # print(self.ui.lable) # 最顶层对象中嵌套的 QLable # print(self.ui.lable.text()) # 最顶层对象中嵌套的 QLable 的文本 self.user_name = self.ui.lineEdit # 用户名输入框 self.password = self.ui.lineEdit_2 # 密码输入框 login_btn = self.ui.pushButton # 登录按钮 forget_btn = self.ui.pushButton_2 # 忘记密码 self.text_browser = self.ui.textBrowser # 文本显示区 # 给登录按钮被点击绑定槽函数 login_btn.clicked.connect(self.login) def login(self): user_name = self.user_name.text() password = self.password.text() if user_name == 'admin' and password == '123456': self.text_browser.setText('欢迎%s' % user_name) self.text_browser.repaint() pass else: self.text_browser.setText('用户名或者密码错误...请重试!') self.text_browser.repaint() print('正在登录...') if __name__ == '__main__': app = QApplication(sys.argv) w = my_window() w.ui.show() app.exec_()
该案例加载后的.ui
文件有7个对象属性,正好与在设计.ui
文件时控件的数量一致,可见属性的个数正好对应.ui
文件中的空间个数,所以想要操作哪个空间,就通过对象.属性
的方式从.ui
对象中提取即可。当然了不能盲目的提取,这些属性的名字其实就是在.ui
文件中的空间的Object name
,如下图
最后的效果如下图:
原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/pyqt5changyongcaozuozhijiazaiui/.html