前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python高级进阶#003 pyqt5与qtdesigner对照分析

Python高级进阶#003 pyqt5与qtdesigner对照分析

作者头像
刘金玉编程
发布2019-10-14 19:40:30
1.9K0
发布2019-10-14 19:40:30
举报
文章被收录于专栏:编程创造城市编程创造城市

知识回顾

1.已经拥有pyqt5可视化界面开发环境搭建

2.简单解析了pyuic生成的python代码

3.纯代码方式写了基于pyqt5的GUI界面


本节知识视频教程

以下开始文字讲解:

一、空的程序的生成理解

1.采用手工纯代码方式书写GUI程序。

2.采用qtdesigner方式来进行界面规划。

通过两种不同的形式制作的pyqt5程序,观察有何不同。

理解Qwidget是基于所有控件的基类,包括窗体控件、按钮、文本等等。

二、Qt Designer设计师界面相关属性

Geometry属性:

X:代表窗体出现的位置是在屏幕的左上角水平方向的0 的位置

Y:代表窗体出现的位置是在屏幕左上角垂直方向的0的位置

默认宽度:400

默认高度:300

ObjectName属性:表示窗体对象的名称 。对应的python代码中设置窗体名称的方法setObjectName

注意:窗体对象其实就是指qwidget的实例化对象

三、补充pyuic命令解析

使用Python.exe解释器

-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

命令说明:-m表示调用某个模块,这表表示调用PyQt5.uic.pyuic 模块

$FileName$表示需要转换的源文件名称

-o 表示需要生成目标文件,这里使用$FileNameWithoutExtension$表示与源文件相同的文件名称但不包含扩展名的目标文件,扩展名,我们通过自己连接.py,那么最终表示生成的是python类型的文件。

四、Qt中信号的理解

比如说单击事件、某个超时信号等都是qt中的信号,说到底其实就是界面上面发生某个事件。

相关路径概念的说明

绝对路径:从根目录开始的详细路径

相对路径:相对于某个文件目录的路径

相对路径往往有一些符号代表:

.点表示当前路径

..点点表示上一层路径

五、函数补充解释

resize函数

作用:重新调整窗体的大小。

有两个参数,第一个参数表示宽度值,第二个参数表示高度值。

举例:

Form.resize(400, 300)

move函数

作用:调整窗体的位置。

第一个参数表示水平水平方向的位置。

第二个参数表示垂直方向的位置。

使用举例:

Form.move(0,0)

show函数

Pyqt5的show函数是窗体的显示功能

六、总结强调

1.掌握qtdesigner设计界面与pyuic转换后文件代码的对应关系。

2.掌握pyqt5中界面中常用函数的基本用法

3.掌握如何调用生成界面的思想。实则是如何使用pyqt5纯代码写gui界面的关键。

以下为本节源代码

UI转为py后的代码:

代码语言:javascript
复制
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'ljytest003.ui'
#
# Created by: PyQt5 UI code generator 5.13.1
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        Form.move(0,0)
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))

ljy003.py调用UI界面

代码语言:javascript
复制
#导入python系统类库
import sys
#导入Pyqt5用到的类库,QApplication应用程序类,QWidget控件的基类
from PyQt5.QtWidgets import QApplication,QWidget
#导入生成界面的类的模块
import ljytest003
#实例化一个类,通过构造函数传入python的应用参数
print(sys.argv) #这里打印出包含当前文件绝对路径名称的列表
app=QApplication(sys.argv)
#实例化界面基类
w=QWidget()
#实例化生成的界面的类
form=ljytest003.Ui_Form()
#将生成的窗体控件及配置载入到w控件对象中
form.setupUi(w)
#窗体显示
w.show()
#app.exec_()表示程序界面监听事件的开始,是一个死循环。
sys.exit(app.exec_())
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档