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可以多行选择,选择对象包括光标、空格、文字等
01、pyqt入门使用--01布局、基本组件、第一个示例、qtdesigner大概使用相关推荐
- Bootstrap学习笔记01【快速入门、栅格布局】
Java后端 学习路线 笔记汇总表[黑马程序员] Bootstrap学习笔记01[快速入门.栅格布局][day01] Bootstrap学习笔记02[全局CSS样式.组件和插件.案例_黑马旅游网][d ...
- MyBatis 01 快速入门
MyBatis 01 快速入门 文章目录 MyBatis 01 快速入门 一.学习目标 二.为什么需要框架技术 三.框架技术介绍 四.主流框架介绍 五.持久化与ORM 六.MyBatis简介 七.搭建 ...
- Bootstrap响应式Web开发笔记01——基础入门
Bootstrap响应式Web开发笔记01--基础入门 Bootstrap响应式Web开发笔记02--移动端页面布局 Bootstrap响应式Web开发笔记03--Bootstrap栅格系统 Boot ...
- 【Yocto学习入门】01 - Yocto简介
[Yocto学习入门]01 - Yocto简介 一.什么是yocto? 二.openembedded,poky和yocto的关系 三.BitBake 是什么 四.yocto的工作流程 五.Yocto ...
- React 全家桶入门教程 01
React 全家桶入门教程 01 前面是基础课程(难度小,略过),后面是案例 目的 巩固react基础知识,查漏补缺(熟悉的部分快进) 学习相关的库的使用 https://study.163.com/ ...
- Jmeter 入门 从0-1 基础篇-实操
Jmeter 入门 从0-1 基础篇 笔记有的图片链接可能失效了,等我修改好了在来编辑哈 文章目录 1 JMeter 1.1 JMeter环境搭建和基本使用 1.1.1 JMeter环境搭建 1.1. ...
- 【mysql入门笔记01 2022.9.27】
mysql入门笔记01 2022.9.27 数据库概念 数据库管理系统 关系型数据库(RDBMS) 非关系型数据库(NoSQL) SQL概念 Mysql 版本 Mysql安装 Mysql启动 方式一 ...
- .NET零基础入门之01:开篇及CSharp程序、解决方案的结构
.NET零基础入门之01:开篇及CSharp程序.解决方案的结构 参考文章: (1).NET零基础入门之01:开篇及CSharp程序.解决方案的结构 (2)https://www.cnblogs.co ...
- 洛谷 P1048 采药 01背包入门
P1048 采药 最近想学dp了 一道非常简单入门的01背包,写此博客做一个教训,对01背包还不是特别熟,动态方程很容易就推出来了,但是写二维状态方程时wa了,然后改为一维过了. 主要还是对01背包不 ...
最新文章
- Github Windows安装帮助
- 关于Html中jsp调用Android中方法无效的一点建议
- The type android.support.v4.view.ScrollingView cannot be resolved. It is indirectly referenced from
- 65279 php,php头部#65279;去除bom执行文件
- python gil锁_python--GIL锁
- 报错:TargetException, 非静态方法需要一个目标
- 基础学习总结(一)--工程结构与打包过程
- 电压比较器之LM393工作原理
- bl系列刀片(blade)服务器,HPE Integrity BL870c i6 刀片服务器
- rational rose mysql_用Rational Rose逆向工程(java)生成类图(教程和错误解决)
- macOS Monterey 12.4 (21F79) 正式版 ISO、IPSW、PKG 下载
- 蓝牙相关Profiles
- (转载)JDO快速入门(原理详解)
- 桌面动态壁纸 wallPaper engine
- 人生理解---3、不想学习的时候怎么办
- 如何自己动手给笔记本电脑增加内存
- 【马修笔记】大波段顶底反转的节奏交易.
- 关于移动端的文本框获取焦点时导致fixed或absolute定位的按钮被手机键盘顶上去的问题
- 教师计算机应用基础知识,计算机应用基础
- Urule规则引擎快速搭建
热门文章
- java8 .stream().anyMatch / allMatch / noneMatch用法
- 幼儿园c ch语言教育,小班语言发育迟缓幼儿发展评估及教育干预的个
- 【JAVA基础】java基础之-泛型详解
- GD MCU的SWD和SCLK管脚被当成IO脚占用导致找不到设备
- 给领导敬酒杯子非要低于领导吗?
- JSHTMLCSS实现双色球抽奖
- 你喜欢吃和不喜欢吃的水果
- 《APP逆向学习》课程介绍和什么是安卓app逆向?
- linux打印文件名称唯美,程序员的情人节应该这么优雅度过(附源码)
- linux系统命令cd怎么使用,linux命令怎么用_Linux cd命令该怎么使用