05_HUD_Qt_for_Python开发之路3

简介: 05_HUD_Qt_for_Python开发之路3

image.png

欢迎来到我的博客,希望这篇文章对你有所帮助,如果觉得不错,请点赞搜藏哈。


文章目录


HUD_Qt_for_Python开发之路3

1 UI文件与Python结合

1.1 将UI文件编译为一个Python类(静态加载)

1.2 问题

2 直接加载UI文件(动态加载)

2.1 加载UI文件

2.2 问题

3 交互问题

总结

HUD_Qt_for_Python开发之路3

1 UI文件与Python结合

这小节将研究下UI文件怎么与Python结合,还是老样子,先找帮助文档,看看有没有帮助。


通过查看帮助文档得知,UI文件与Python结合有两种方式


将UI文件编译为一个Python类使用

直接在Python中加载UI文件

1.1 将UI文件编译为一个Python类(静态加载)

此时加入我们的UI文件名称为mainwindow.ui文件,那么需要执行以下指令,来将我们的UI文件转化为类

image.png1.2 问题

用这种方法使用到时没有问题,应该是适用于那种前后端分离的情况,前端UI已经全部制作完成,后端拿到现成的UI文件来实现逻辑逻辑控制即可,要是UI文件和开发是同时进行,那么这种方法就不咋合适了,总不能没更新一个UI就执行一次pyside6-uic 吧 。所以我还是要用第二种了,直接加载的方式。


2 直接加载UI文件(动态加载)

直接加载UI文件可以很好的规避掉第一种方式中每次更新UI文件都需要重新编译的一次的问题。使用这种加载UI文件的方式,需要用到QUiLoader模块,只需要引入即可


from PySide6.QtUiTools import QUiLoader


2.1 加载UI文件

帮助文档中加载UI文件代码如下

image.png

import sys
from PySide6.QtUiTools import QUiLoader
from PySide6.QtWidgets import QApplication
from PySide6.QtCore import QFile, QIODevice
if __name__ == "__main__":
    app = QApplication(sys.argv)
    ui_file_name = "mainwindow.ui"
    ui_file = QFile(ui_file_name)
    if not ui_file.open(QIODevice.ReadOnly):
        print(f"Cannot open {ui_file_name}: {ui_file.errorString()}")
        sys.exit(-1)
    loader = QUiLoader()
    window = loader.load(ui_file)
    ui_file.close()
    if not window:
        print(loader.errorString())
        sys.exit(-1)
    window.show()
    sys.exit(app.exec_())

image.png阿西吧,简直就是灾难现场,这几天就是一天研究一句话,这进度,都没法和蜗牛比。要崩溃了,不搞了。


总结

其实动态加载和静态加载都有各自的优缺点,这将像是你你和你女朋友在一起的时间一样,可以短了刺激,长了就是陪伴,这个也是要结合着使用,可以先在动态里面吧界面搞定了,完了在转成静态的,配合Python进行高级开发。



目录
相关文章
|
5天前
|
设计模式 开发框架 数据库
Python Web开发主要常用的框架
【5月更文挑战第12天】Python Web开发框架包括Django、Flask、Tornado和Pyramid。Django适用于复杂应用,提供ORM、模板引擎等全套功能;Flask轻量级,易于扩展,适合小型至中型项目;Tornado擅长处理高并发,支持异步和WebSockets;Pyramid灵活强大,可适配多种数据库和模板引擎,适用于各种规模项目。选择框架需依据项目需求和技术栈。
123 2
|
3天前
|
程序员 Python
python学习1:安装注意事项(1),2024年最新3个月学会Python开发
python学习1:安装注意事项(1),2024年最新3个月学会Python开发
python学习1:安装注意事项(1),2024年最新3个月学会Python开发
|
5天前
|
JSON 缓存 Java
|
5天前
|
区块链
【qt】最快的开发界面效率——混合编程3
【qt】最快的开发界面效率——混合编程
16 1
|
5天前
【qt】最快的开发界面效率——混合编程2
【qt】最快的开发界面效率——混合编程
14 1
|
5天前
【qt】最快的开发界面效率——混合编程1
【qt】最快的开发界面效率——混合编程
18 0
|
5天前
|
Python
LabVIEW和Python开发微细车削控制系统
LabVIEW和Python开发微细车削控制系统
22 1
LabVIEW和Python开发微细车削控制系统
|
5天前
|
安全 测试技术 持续交付
在Python Web开发中,测试是一个至关重要的环节
【5月更文挑战第12天】在Python Web开发中,测试至关重要,包括单元测试(unittest模块)、集成测试、功能测试、系统测试、验收测试、性能测试、安全测试和端到端测试。常用的测试工具有unittest、pytest、selenium、requests和coverage。遵循“测试先行”和“持续集成”原则,确保代码质量与稳定性。
142 3
|
5天前
|
存储 程序员 API
python web开发示例详解
python web开发示例详解
18 0
|
5天前
|
开发框架 编译器 C++
Qt:一个强大的跨平台C++应用程序开发框架
Qt:一个强大的跨平台C++应用程序开发框架
37 1

推荐镜像

更多