当前位置:   article > 正文

python-调用ui文件_python调用ui文件

python调用ui文件

目录

前言

一、直接引用

二、间接引用

1.将ui文件转化成py文件

2.进行调用

三、区别

总结


前言

有关qt designer的使用在这里就不多说了,网上有很多资料,我也会之后进行个人理解方面的介绍。此文章仅说明如何引用ui文件。引用分为两种,一种为直接引用,一种为间接引用(转化成py文件进行调用)。都用到了pyside2。以下举例说明。


用qt designer设计出界面,保存为ui文件。

 

没安装pyside2的话, 如果是使用pycharm进行代码编写,按照软件波浪线提示操作,即可安装pyside2,或者进入python package,查找pyside2进行安装。还可以通过cmd(命令窗口),通过命令下载pyside2。

pip install PySide

 然后,创建一个py文件作为主程序,对ui文件进行引用。代码分为以下两种:

一、直接引用

  1. # 直接调用ui文件
  2. from PySide2.QtUiTools import QUiLoader
  3. from PySide2.QtWidgets import QApplication
  4. class Callui:
  5. def __init__(self):
  6. self.ui = QUiLoader().load('ui.ui')
  7. if __name__ == "__main__":
  8. # 固定的,PyQt5程序都需要QApplication对象。sys.argv是命令行参数列表,确保程序可以双击运行
  9. app = QApplication()
  10. # 初始化
  11. myWin = Callui()
  12. # 将窗口控件显示在屏幕上
  13. myWin.ui.show()
  14. # 程序运行,sys.exit方法确保程序完整退出。
  15. app.exec_()

注意路径,我的文件是这样存放的:

二、间接引用

1.将ui文件转化成py文件

一种可以直接复制粘贴,打开将代码贴到新建的py文件中,或者直接保存成py文件。

 

另一种打开cmd(命令窗口),将路径转到当前路径下。输入转换命令。

 小技巧:除了使用cd进行路径转换,也可以先打开当前文件夹,在选中路径敲入cmd,回车,打开的窗口中的路径即为当前路径。

 

pyside2-uic hw.ui -o hwui.py

2.进行调用

转换成py文件后,其实就是转成了类的调用,按照正常的调用即可:

  1. # 功能:间接调用ui文件(将ui文件转化为py文件)
  2. from PySide2.QtCore import Qt, QUrl, QRect, QSize
  3. from PySide2.QtWebEngineWidgets import QWebEngineView
  4. from PySide2.QtWidgets import QApplication, QMainWindow, QScrollArea
  5. from ui import Ui_Form
  6. class MainWindow(QMainWindow):
  7. def __init__(self):
  8. super().__init__()
  9. # 使用ui文件导入定义界面类
  10. self.ui = Ui_Form()
  11. # 初始化界面
  12. self.ui.setupUi(self)
  13. # 实例化
  14. app = QApplication([])
  15. # 对ui进行再次布局与设置
  16. mainw = MainWindow()
  17. mainw.show()
  18. app.exec_()

文件存放如下:

三、区别

直接调用

好处:当ui修改后,无需转换,直接运行调用程序即可获得最新的界面。

间接调用

好处:可以清晰看到代码,如果用到ui中的代码便于复制粘贴或直接修改。

两种各有利弊,个人建议是如果界面处于调试状态,或者主程序与界面关联较小,可以使用直接调用,无需再转成py文件;反之,如果后期关联较多,会根据后端对前端界面进行修改(比如后端给前端一个连接状态,前端就要显示开启的颜色等,使用ui文件我就无法对界面进行实时改变),建议还是转成py程序,便于操作。


总结

以上就是今天要讲的内容,对引用ui文件进行了简单介绍,也根据经验作出一些个人见解。如哪里有说的不对的地方,欢迎指正~

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号