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

    在上一篇博客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如下:

  • 25
    点赞
  • 127
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值