PyQt加载py文件与加载ui文件,哪个更快?

2023-08-25  本文已影响0人  Hemmelfort

用 Qt Designer 做好界面后会生成一个 *.ui 文件,一般我们会先用 uic 命令将其转换成 *.py 文件。但其实 PyQt 还自带了一个 uic.loadUi() 方法,能够直接加载这个 *.ui 文件。到底哪种方法执行效率更高呢?

测试代码如下:

import importlib
from time import time
from PyQt5 import QtWidgets, uic

app = QtWidgets.QApplication([])

# 用来计时的函数
def csmtime(info):
    def rt(func):
        def wrapper():
            t = time()
            func()
            print(info, time() - t)        
        return wrapper    
    return rt

@csmtime('py')
def imp_py():
    for i in range(50):
        wdg = QtWidgets.QScrollArea()
        ui_main = importlib.import_module("ui_main")  #动态导入py文件
        ui_main.Ui_FormUnit().setupUi(wdg)

@csmtime('ui')
def imp_ui():
    for i in range(50):
        wdg = QtWidgets.QScrollArea()
        uic.loadUi('ui_main.ui', wdg)  #直接加载ui文件

imp_py()
imp_ui()

测试结果如下:

py 14.359683513641357
ui 22.69052290916443

🌼 结论:把 ui 文件先转换成 py 文件再导入明显更快。

上一篇 下一篇

猜你喜欢

热点阅读