pyqt 加载ui的两种方法pyuic5与uic.loadUi(动态加载ui)的优缺点

本人最近在写pyqt5,发现了两种加载ui方式的优缺点

 本人使用pyqt5中,发现有两种方式加载ui文件,研究了一下各自的优缺点。

 pyuic5:

优点:

允许继承(这点很关键)

运行程序时没有额外的负载

缺点:

每次修改ui文件时都得手动将 .ui 转换为 .py

 pyuic5使用例程代码:

from PyQt5 import QtWidgets, uic
import sys

from PyQt5.QtWidgets import QMainWindow

# 导入pyUIC转化出来的.py文件,Ui_Form就是转化出的.py文件的类名
from untitled import Ui_Form


class Ui(QMainWindow, Ui_Form):
    def __init__(self, parent=None):
        super(Ui, self).__init__(parent)
        self.setupUi(self)


app = QtWidgets.QApplication(sys.argv)
window = Ui()
window.show()
sys.exit(app.exec_())

uic.loadUi():

优点:

修改ui时无需修改任何内容

编译额外时间(我也没太看懂)

缺点:

不允许继承(或许使用

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
uic.loadUiPyQt5中的一个函数,用于加载UI文件并创建相应的窗口对象。它有几种不同的用法。其中一种用法是直接使用uic.loadUi('mainwindow.ui', self)来加载UI文件并将其应用于当前的窗口对象。这种用法适用于简单的界面,但可能会导致鼠标事件等功能无法正常使用。\[1\]另一种用法是将uic.loadUi('main.ui', self)放在类的构造函数中,然后创建窗口对象并显示它。这种用法更加通用,适用于包含鼠标事件或其他事件操作的界面。\[2\]还有一种用法是使用uic.loadUiType('mainwindow.ui')\[0\]来加载UI文件并创建窗口类,然后在类的构造函数中调用self.setupUi(self)来设置界面。这种用法适用于需要自定义窗口类的情况。\[3\]总之,uic.loadUi是一个非常有用的函数,可以帮助我们轻松地将UI文件与PyQt5应用程序进行关联。 #### 引用[.reference_title] - *1* *3* [pyqt:使用uic.loadUI()的时候,无法使用鼠标事件或者其他事件](https://blog.csdn.net/qq_39506862/article/details/126585013)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [pyqt 加载ui两种方法pyuic5uic.loadUi动态加载ui)的优缺点](https://blog.csdn.net/Bei_Luo/article/details/117995983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值