赞
踩
目录
有关qt designer的使用在这里就不多说了,网上有很多资料,我也会之后进行个人理解方面的介绍。此文章仅说明如何引用ui文件。引用分为两种,一种为直接引用,一种为间接引用(转化成py文件进行调用)。都用到了pyside2。以下举例说明。
用qt designer设计出界面,保存为ui文件。
没安装pyside2的话, 如果是使用pycharm进行代码编写,按照软件波浪线提示操作,即可安装pyside2,或者进入python package,查找pyside2进行安装。还可以通过cmd(命令窗口),通过命令下载pyside2。
pip install PySide
然后,创建一个py文件作为主程序,对ui文件进行引用。代码分为以下两种:
- # 直接调用ui文件
-
- from PySide2.QtUiTools import QUiLoader
- from PySide2.QtWidgets import QApplication
-
-
- class Callui:
-
- def __init__(self):
- self.ui = QUiLoader().load('ui.ui')
-
-
- if __name__ == "__main__":
- # 固定的,PyQt5程序都需要QApplication对象。sys.argv是命令行参数列表,确保程序可以双击运行
- app = QApplication()
- # 初始化
- myWin = Callui()
- # 将窗口控件显示在屏幕上
- myWin.ui.show()
- # 程序运行,sys.exit方法确保程序完整退出。
- app.exec_()
注意路径,我的文件是这样存放的:
一种可以直接复制粘贴,打开将代码贴到新建的py文件中,或者直接保存成py文件。
另一种打开cmd(命令窗口),将路径转到当前路径下。输入转换命令。
小技巧:除了使用cd进行路径转换,也可以先打开当前文件夹,在选中路径敲入cmd,回车,打开的窗口中的路径即为当前路径。
pyside2-uic hw.ui -o hwui.py
转换成py文件后,其实就是转成了类的调用,按照正常的调用即可:
- # 功能:间接调用ui文件(将ui文件转化为py文件)
- from PySide2.QtCore import Qt, QUrl, QRect, QSize
- from PySide2.QtWebEngineWidgets import QWebEngineView
- from PySide2.QtWidgets import QApplication, QMainWindow, QScrollArea
-
-
- from ui import Ui_Form
-
-
- class MainWindow(QMainWindow):
-
- def __init__(self):
- super().__init__()
- # 使用ui文件导入定义界面类
- self.ui = Ui_Form()
- # 初始化界面
- self.ui.setupUi(self)
-
-
- # 实例化
- app = QApplication([])
- # 对ui进行再次布局与设置
- mainw = MainWindow()
- mainw.show()
- app.exec_()
文件存放如下:
直接调用
好处:当ui修改后,无需转换,直接运行调用程序即可获得最新的界面。
间接调用
好处:可以清晰看到代码,如果用到ui中的代码便于复制粘贴或直接修改。
两种各有利弊,个人建议是如果界面处于调试状态,或者主程序与界面关联较小,可以使用直接调用,无需再转成py文件;反之,如果后期关联较多,会根据后端对前端界面进行修改(比如后端给前端一个连接状态,前端就要显示开启的颜色等,使用ui文件我就无法对界面进行实时改变),建议还是转成py程序,便于操作。
以上就是今天要讲的内容,对引用ui文件进行了简单介绍,也根据经验作出一些个人见解。如哪里有说的不对的地方,欢迎指正~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。