PyQt5常用操作之加载ui

Qt Designer

Qt Designer是图形化的ui设计程序

PyQt5常用操作之加载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,如下图

PyQt5常用操作之加载ui

最后的效果如下图:

PyQt5常用操作之加载ui

原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/pyqt5changyongcaozuozhijiazaiui/.html

Like (0)
Donate 微信扫一扫 微信扫一扫
朋远方的头像朋远方
Previous 2022年9月6日 上午10:39
Next 2022年9月6日 下午7:27

相关推荐

发表回复

Please Login to Comment