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


微信扫一扫