Python PyQt5 Qt Designer (Qt设计师)
PyQt5 Qt Designer (Qt设计师)
本文由 Luzhuo 编写,转发请保留该信息.
原文: https://blog.csdn.net/Rozol/article/details/87705426
PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发.
Qt是强大的GUI库之一, 用C++开发, 并且跨平台.
PyQt双许可证, 要么选择GPL
(自由软件协议)将代码开源, 要么选择商业许可
交商业许可费.
PySide拥有LGPL 2.1
授权许可, 可开发 免费开源软件 和 私有商业软件. 把PyQt5代码切换到PySide2代码是相当容易的, 这也是为什么选择学习PyQt5的原因
个人推荐学习PyQt5可以先通过 zetcode (翻译版) 快速入门, 然后再通过查阅 Qt官方文档 进行详细的学习.
准备工作
- 安装PyQt5:
pip install pyqt5
- 安装Qt工具:
pip install pyqt5-tools
- 配置Qt工具系统环境变量:
Path=C:\Code\Python_Vir\python1\Lib\site-packages\pyqt5_tools
Qt Designer (Qt设计师)
强大的可视化GUI设计工具, 帮助我们快速开发PyQt.
它生成UI界面为.ui文件, 通过命令将.ui转为.py文件.
1.启动Qt Designer
命令执行designer
, 便会弹出以下界面
最常用的就是创建 Widget(通用窗口) 和 MainWindow(主窗口), 这里我们创建一个 MainWindow.
下面简单介绍下主要功能:
文件保存为xxx.ui文件, 可以用文本及编辑打开编辑, 其数据是XML格式的.
2.将xxx.ui文件转为xxx.py文件
通过以下命令行执行, 即可生成 designer_demo.py 文件
pyuic5 -o designer_demo.py designer_demo.ui
3.运行布局文件
导入并继承它
from designer_demo import Ui_MainWindow
class MyDesiger(QMainWindow, Ui_MainWindow):
编写以下代码, 放在designer_demo.py
同文件夹下, 运行即可
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
from designer_demo import Ui_MainWindowclass MyDesiger(QMainWindow, Ui_MainWindow):def __init__(self, parent=None):super(MyDesiger, self).__init__(parent)self.setupUi(self)if __name__ == "__main__":app = QApplication(sys.argv)ui = MyDesiger()ui.show()sys.exit(app.exec_())
控件箱简介
- Layouts 布局 (选中控件 -> Lay out(右键) -> 选择布局)
- Vertical Layout: 垂直布局
- Horizontal Layout: 水平布局
- Grid Layout: 网格布局 (划分为 行 和 列)
- Form Layout: 表单布局 (左列标签, 右列控件)
- Containers 容器
- Group Box
- Scroll Area
- Tool Box
- Tab Widge
- Stacked Widget
- Frame: 帧容器, 可放入布局 / 控件等
- Widget: 窗口容器
- MDI Area
- Dock Widget
- Item Widgets 条目控件
- List Widget: 列表条目
- Tree Widget: 树形条目
- Table Widget: 标签页条目
- Spacers 间隔(透明)
- Horizontal Spacer: 水平间隔
- Vertical Spacer: 垂直间隔
- Buttons 按钮
- Push Button: 按钮
- Tool Button: 工具箱按钮 (…)
- Radio Button: 单选框
- Check Box: 多选框
- Command Link Button:
- Dialog Button Box: Dialog 按钮 (ok | cancel)
- Input Widgets 输入控件
- Combo Box: 下拉框
- Font Combo Box: 字体下拉框
- Line Edit: 行文本编辑框
- Text Edit: 文本编辑框
- Plain Text Edit: 文本编辑框
- Spin Box: 选择整数值
- Double Spin Box: 选择浮点数值
- Time Edit: 时间选择框
- Data Edit: 日期选择框
- Data/Time Edit: 日期 时间 选择框
- Dial: 圆形滚动表盘
- Horizontal Scroll Bar: 水平滚动条
- Vertical Scroll Bar: 垂直滚动条
- Horizontal Slider: 水平拖动条
- Vertical Slider: 垂直拖动条
- Key Sequence Edit: 按键编辑框
- Display Widgets 显示控件
- Label: 标签 (显示文字 / 图片等)
- Text Browser: 文本浏览(不可编辑)
- Graphics View: 绘画
- Calendar Widget: 日历
- LCD Number: LCD数字显示屏
- Progress Bar: 进度条
- Horizontal Line: 水平线
- Vertical Line: 垂直线
- OpenGL Widget: OpenGl
控件属性简介
- objectName: 控件对象名
- geometry: 相对坐标(px) x,y,width,height
- sizePolicy: 控件大小策略
- Fixed: 控件有 sizeHint 尺寸且尺寸不变
- Minimum: 控件有 sizeHint 最小尺寸, 尺寸可变大
- Maximum: 控件有 sizeHint 最大尺寸, 尺寸可变小
- Preferred: 控件有 sizeHint 期望尺寸, 有minisizeHint最小尺寸, 尺寸可变大
- Expanding: 控件有 minisizeHint 最小尺寸, 希望更大尺寸
- MinimumExpanding: 控件有 sizeHint 最小尺寸, 希望更大磁村
- Ignored: 无视 sizeHint 和 minisizeHint, 按默认设置
- minimumSize: 最小尺寸
- maximumSize: 最大尺寸 (固定尺寸: minimumSize=maximumSize)
- font: 字体
- cursor: 光标
- windowTitle: 窗口标题
- WindowsIcon: 窗口图标
- iconSize: 图标大小
- toolTip: 提示泡提示信息
- statusTip: 状态栏提示信息
- text: 控件文本
- shortcut: 快捷键
- horizontalSpacer: 水平间距
信号(signal)和槽(slot)
PyQt5处理事件有个signal and slot机制, 事件触发产生信号(signal), 当信号发送(emit())时, 连接的槽(slot)便会执行.
信号与槽的连接
sender.signal.connect(receiver.slot)# 例子
btn.clicked.connect(self.buttonClicked)
快速连接伙伴 (信号槽)
按F4选择 Edit Signal/Slot 模式 -> 鼠标按住控件1
拖拽到控件2
上松开 -> 弹出对话框, 选择两边连接事件 -> ok -> 按F3切换回 Edit Widgets 模式
演示:
菜单栏
菜单栏通过双击 Type Here 添加一级菜单(File), 点开一级菜单双击 Type Here 添加动作(New File), 若点了后面的+, 并添加动作(Text File), 则动作(New File)将变成子菜单.
并且我们可以在 动作编辑器 里修改 菜单里的动作
加载资源文件
1.加载资源
直接上动态图吧
2.使用资源
把Label
控件拖到窗口上 -> 属性设置pixmap
3.编译成可执行代码
除了需要把.ui文件转成.py文件外, 还需要把.qrc文件转成.py文件
pyrcc5 app.qrc -o app.py
代码处理
import app
self.label.setPixmap(QtGui.QPixmap(":/pic/designer1.png"))
Python PyQt5 Qt Designer (Qt设计师)相关推荐
- python -- PyQt5(designer)中文详细教程(一)Qt的基本功能
在介绍PyQt5中文详细教程前,如有需要安装PyQt5的同学可以在此 PyQt5安装详细教程_M_Q_T的博客-CSDN博客参考安装,里面有详细的安装内容. 下一章内容python -- PyQt5( ...
- QT在VS环境下双击*.ui打不开Qt designer(Qt设计师)的解决方法
今天刚学QT,并在VS2013环境下完成了QT5.6.2的配置. 在VS下,新建Qt GUI Application后,在解决方案资源管理器中双击 *.ui 文件没反应, 网上的解决方法很少,但找到有 ...
- python -- PyQt5(designer)基本教程大全
PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成. PyQt5本身拥有超过620个类和6000函数及方法.在可以运行于多个平台. PyQt5拥有双重 ...
- python界面设计资源库_python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法...
PyQt5 Qt Designer (Qt设计师) PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发. Qt是强大的GUI库之一, 用C++开发, 并且跨平台. PyQt双许可 ...
- python图形界面设计代码_python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方...
PyQt5 Qt Designer (Qt设计师) PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发. Qt是强大的GUI库之一, 用C++开发, 并且跨平台. PyQt双许可 ...
- distiller的另一个实例正忙于启动_PYQT5学习(02):利用Qt Designer制作第一个窗口程序
目标 利用Qt Designer设计窗口界面 使用PyUIC把Qt Designer生成的UI文件转换为py文件 使用转换生成的py文件 创建项目 启动启动pycharm并创建项目 这一环节在这里就不 ...
- Qt Designer入门教程 初学者必看
在Linux下,一个非常流行的RAD工具就是Qt Designer.它是嵌入式公司 Trolltech的Qt软件包的一个组成部分. Qt Designer入门教程 初学者必看是本文要介绍的内容,不说这 ...
- Qt使用Qt Designer进行界面设计
上一章我们使用代码直接进行界面设计,这一章我们使用Qt Designer进行界面设计,简单直接,所见即所得,大大提高了工作效率,特别是对于复杂界面. 1熟悉Qt Designer Qt Designe ...
- python qtdesigner 提升类_python3+PyQt5+Qt Designer实现扩展对话框
本文是对<Python Qt GUI快速编程>的第9章的扩展对话框例子Find and replace用Python3+PyQt5+Qt Designer进行改写. 第一部分无借用Qt D ...
最新文章
- Android配置build.gradle解锁更高逼格玩法(多版本共存、分服务器打包等)
- 检测到smtp服务器版本信息,邮件服务器DBMail检测功能
- .Net Compact Framework 小技巧(1)
- uvalive5092(找规律)
- js click 与 onclick 事件绑定,触发与解绑
- PetShop之表示层设计
- IT运维人员该学习哪些技术
- centos安装python3.6.3、pip_Centos 7安装python3和pip
- SuperPoint学习(一)
- 公开课丨重中之重!Web安全漏洞与防御
- linux下python网络编程框架-twisted安装手记,linux编程_Linux下Python网络编程框架安装日志...
- 计算机打不开硬盘,硬盘打不开的原因和解决方法
- C++PrimerPlus 第六章 分支语句和逻辑运算符 - 6.1 if语句
- 第一次OllyDbg逆向记录(分析思路和注意点其他文章)
- 分析了漫威电影后,才知道竟如此流弊
- 推荐系统之NFM原理与实现学习
- SQL_修改字段为NOT NULL和NULL
- Android 10开启调试模式
- Html按钮调用手机静音,静音/取消静音没有按钮HTML5
- next.js 初试