美文网首页
PyQt加载py文件与加载ui文件,哪个更快?

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

作者: Hemmelfort | 来源:发表于2023-08-25 18:35 被阅读0次

    用 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 文件再导入明显更快。

    相关文章

      网友评论

          本文标题:PyQt加载py文件与加载ui文件,哪个更快?

          本文链接:https://www.haomeiwen.com/subject/uzcbmdtx.html