python-pyqt5-初识-5-Qt Designer设计器

主要有两种方式;

1.动态加载UI文件
通过 Qt Designer 设计的界面,最终是保存在一个ui文件中的。
有了界面定义文件,我们的Python程序就可以从文件中加载UI定义,并且动态 创建一个相应的窗口对象

格式如下:

在Stats类中

self.ui = uic.loadUi(“TestDynamicLoading.ui”),

修改为你的ui文件名称即可,

同时注意需要加载PyQt5 库的uic模块

from PyQt5 import QtCore, QtGui, QtWidgets,uic


 案例1.简单的调用案例:

1.1设计界面不进行深入讲解,根据个人情况进行设计界面进行

python-pyqt5-初识-5-Qt Designer设计器_第1张图片


 calluic.py文件,通过下面代码就是可以直接调用界面文件了



#sipui.ui

"""
动态加载ui文件
"""

import sys

from PyQt5.QtWidgets import QApplication
from PyQt5 import uic

if __name__ == '__main__':
    app = QApplication(sys.argv)

    ui = uic.loadUi("./sipui.ui")
    # 展示窗口
    ui.show()

    app.exec()

python-pyqt5-初识-5-Qt Designer设计器_第2张图片

 


案例2:获取用户名、密码,在TextBrowser中显示一些登录的信息

设计界面的时候的名称需要与代码中的做对应

python-pyqt5-初识-5-Qt Designer设计器_第3张图片

 



#sipui.ui

"""
动态加载ui文件
    ui = uic.loadUi("./loginui.ui")

"""

import sys

from PyQt5.QtWidgets import *
from PyQt5 import uic


class MyWindow(QWidget):

    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        self.ui = uic.loadUi("./loginui.ui")
        # print(self.ui.__dict__)  # 查看ui文件中有哪些控件

        # 提取要操作的控件
        self.user_name_qwidget = self.ui.lineEdit_name  # 用户名输入框与designer中名称一致
        self.password_qwidget = self.ui.lineEdit_password  # 密码输入框
        self.login_btn = self.ui.pushButton  # 登录按钮
        self.forget_password_btn = self.ui.pushButton_2  # 忘记密码按钮
        self.textBrowser = self.ui.textBrowser  # 文本显示区域

        # 绑定信号与槽函数
        self.login_btn.clicked.connect(self.login)

    def login(self):
        """登录按钮的槽函数"""
        user_name = self.user_name_qwidget.text()
        password = self.password_qwidget.text()
        if user_name == "admin" and password == "123456":
            self.textBrowser.setText("欢迎%s" % user_name)
            self.textBrowser.repaint()
        else:
            self.textBrowser.setText("用户名或密码错误....请重试")
            self.textBrowser.repaint()


if __name__ == '__main__':
    app = QApplication(sys.argv)

    w = MyWindow()
    # 展示窗口
    w.ui.show()

    app.exec()

频繁点击的过程中还是存在无响应的问题,可以通过多线程解决



2.转化UI文件为Python代码

后续进行补充,

你可能感兴趣的:(python,gui,qt,ui,开发语言)