赞
踩
主要有两种方式;
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设计界面不进行深入讲解,根据个人情况进行设计界面进行
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()
案例2:获取用户名、密码,在TextBrowser中显示一些登录的信息
设计界面的时候的名称需要与代码中的做对应
-
-
- #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代码
后续进行补充,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。