1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 01 pyqt入门使用--01布局 基本组件 第一个示例 qtdesigner大概使用

01 pyqt入门使用--01布局 基本组件 第一个示例 qtdesigner大概使用

时间:2020-02-04 17:51:48

相关推荐

01 pyqt入门使用--01布局 基本组件 第一个示例 qtdesigner大概使用

01、本系列使用pyqt5作为教材创建项目

--安装 pyqt5 和 pyqt5-tools[这个就是为了使用qtdesigner这个工具] 两个包

--进入Lib\site-packages\pyqt5_tools\Qt\bin,点击designer.exe即可打开

02、第一个示例:

import sys

from PyQt5 import QtWidgets # 通用窗口类

class mywindows(QtWidgets.QWidget): # 继承自 QtWidgets.QWidget 类

def __init__(self):

super(mywindows, self).__init__() # 重载一下mywindows使其包含了QtWidgets.QWidget的预加载项

def mywindow():

app = QtWidgets.QApplication(sys.argv) # pyqt 窗口必须在 QApplication 方法中使用

windows = mywindows() # 创建一个对象

windows.show() # 展示窗口

sys.exit(app.exec_()) # 启动事件循环

if __name__ == '__main__':

mywindow()

03、qtdesigner使用基础--01、Layout窗口布局控件

--点击designer.exe打开软件,Layout拖动到主窗口就是红色框

--Widget就是通用窗口类,MainWindows就是主窗口,Widget被分离出来用于替代Dialog,在qt5中Widget放在QtWidget模块库中,在qt4中是在QtGUI

--MainWindows默认添加了菜单栏、工具栏、状态栏

--Vertical Layout:竖向 | 纵向布局

--Horizontal Layout:横向布局

--Grid Layout:栅格布局 示例:计算器布局

--Form Layout:窗体布局中布局

--一般组件是分层级的,Form窗体--Layout组件--button按钮

--是用自带的pyuic5 工具cmd中运行命令:pyuic5 -o uitest.py test.ui

04、 qtdesigner使用基础--02、基本源码生成分析

01、单纯创建一个Widget窗体代码如下:pyuic5 -o uitest.py test.ui

from PyQt5 import QtCore, QtGui, QtWidgets # 导入模块

class Ui_Form(object): # 继承object类,创建窗体类

def setupUi(self, Form): # 创建setupUi函数

Form.setObjectName("Form") # 设置窗体名称

Form.resize(400, 297) # 设置窗体大小

self.retranslateUi(Form) # 加载retranslateUi函数

QtCore.QMetaObject.connectSlotsByName(Form) # 关联信号槽

def retranslateUi(self, Form):

_translate = QtCore.QCoreApplication.translate # 支持国际化

Form.setWindowTitle(_translate("Form", "Form")) # 设置窗口标题

02、 加一个栅格布局之后

class Ui_Form(object):

def setupUi(self, Form):

Form.setObjectName("Form")

Form.resize(672, 468)

self.gridLayoutWidget = QtWidgets.QWidget(Form) # 创建栅格布局,放进窗体Form,最主要

self.gridLayoutWidget.setGeometry(QtCore.QRect(0, 20, 671, 451)) # 设置栅格布局大小

self.gridLayoutWidget.setObjectName("gridLayoutWidget") # 设置栅格布局的名称

self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget) # 创建一个栅格布局对象,最主要

self.gridLayout.setContentsMargins(0, 0, 0, 0) # 设置栅格布局边距

self.gridLayout.setObjectName("gridLayout") # 设置栅格布局OjbjectName

self.retranslateUi(Form)

QtCore.QMetaObject.connectSlotsByName(Form)

def retranslateUi(self, Form):

_translate = QtCore.QCoreApplication.translate

Form.setWindowTitle(_translate("Form", "Form"))

03、关于qtdesigner的使用小技巧

--布局查看,可使用Object Inspector[对象查看器]进行查看,通常使用栅格布局作为顶层布局

--通常可以使用ctrl选择拖动的所有控件,再选择工具栏上的布局即可自动布局

04、github小技巧

--通过按住ctrl可以多行选择,选择对象包括光标、空格、文字等

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。