当前位置:   article > 正文

PyQt5使用Designer设计UI的两种实现方式_pyqt5的uic

pyqt5的uic

    在上一篇博客Python界面库-PyQt5初探中留了一个坑,那就是如何利用Qt的Designer设计出的UI文件。本篇博客就来研究这个问题。请注意:这里只是讲如何使用Ui文件,而不会讲如何设计Ui文件,如何需要学习如何设计Ui的话,请移步到Qt5 GUI编程之类的话题去。

一、Qt的方式

    使用过Qt,尤其是在visual studio中使用过Qt的应该知道,在编码的过程中Qt会对一些特殊文件进行处理,具体如下图所示:
这里写图片描述

  • Designer设计出的以后缀ui结尾的文件,这类文件Qt会使用uic工具进行处理,生成包含空间和布局的ui_xxx.h的c++头文件。
  • 资源文件,Qt可以使用图片等资源文件,这样就可以在程序中使用相对路径,并且可以把这些图片资源打包在程序中,而使用户无法见到。资源文件的后缀名是.qrc,经过rcc工具出来后,生成文件qrc_xxx.cpp,c++的实现文件即完成资源的数据化工作。
  • 源码文件处理。Qt处理的源码文件是有要求的,即对应的需要定义Qt宏Q_OBJECT,这个就是元对象系统moc发挥作用的地方,Qt的信号槽机制的处理就是在moc中进行的,因为如果没有加Q_OBJECT,那么就不能进行moc处理,也就无法使用信号槽机制。

        在Python中,我们也可以使用这个流程来完成Qt UI文件的处理。来看实例。

    1.1、使用Designer设计Ui文件

      这里设计了一个简单的登陆窗口,文件名为Login.ui,如图:
    这里写图片描述

    1.2、uic处理ui文件

      在安装的PyQt5中有uic工具,在%PythonRoot%Python36/Scripts/pyuic5.exe。在命令行中输入如下命令
            pyuic5.exe -o ui_Login.py Login.ui处理完成后会在同目录下生成问价ui_Login.py。这个文件和上面说到的c++头文件ui_xxx.h是一致的,只不过是Python的版本而已。

    1.3、编写使用ui_Login.py的Pythone文件Login.py

    文件Login.py如下:

  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/76231
推荐阅读
相关标签
  

闽ICP备14008679号