PyQt5简要

有时候人只需要一只温暖的手的触摸,就像是拥有了整个世界。

命令行界面虽然可以运行代码完成功能,但是相对来说图形化界面更好友好,花点小时间看看PyQT5的教程了解一下还是很有用处的。

下载安装

注意PyQt5默认只支持Python3。

下载使用pip即可

pip install PyQt5
pip install PyQt5-tools

对于可视化需要一大堆的按钮啊,窗口啊之类的,如果每个窗口都要用代码去写指定在哪个地方就很麻烦,这个时候QtDesigner的用处就体现出来了,提供一个画图功能有点像Delphi,让你把按钮窗口之类的都画上去,然后自动生成python的代码。

如果是用pycharm开发的话,需要在Settings–>Project–>Project Interpreter加号中–>选择pyqt5和pyqt5 tools 点击安装

然后继续配置Settings -> Tools -> External Tools,点击左上角的绿色加号,Name填入QtDesigner(方便后续使用,名称无所谓)。Program选择我们安装的PyQt5-tools下面的designer.exe。Working directory则选择我们的工作目录。然后点击OK,则添加了QtDesigner作为PyCharm的外置工具。

然后添加PyUIC(UI转换工具),PyUIC的Program为Python.exe,在Python的安装目录下面的Scripts目录下,Working directory同理设为我们的工作目录,Arguments则填入如下代码:

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

最后添加pyrcc用于PyQt5的资源文件转码。具体配置与上述内容相同,Arguments填入:

$FileName$ -o $FileNameWithoutExtension$_rc.py

点击apply,再pycharm中即可看到拓展的工具

画界面

点击Designer即可进入画图页面

这个时候可以根据需要加入按钮,选择栏之类的,关于desginer这一块的英文功能按钮,以后慢慢做笔记详解。

分别是按钮,表单的控件,中间是你画出来的可视化界面,右边的是你的控件详细属性。

生成代码

当你把可视化界面画完后,保存会生成一个xxx.ui文件,这个时候你在pycharm操作中要注意,鼠标点中刚刚生成的xxx.ui,然后点击PyUIC即可将你画好的界面编程代码。

调用界面

运行这个转换好的Python文件是无法显示任何窗口的。因为这个Python文件只有定义主窗口以及其控件的代码,并没有程序入口的代码。为了秉持视图与逻辑分离的原则,我们再编写一个新的脚本来调用这个文件,并且创建一个窗口。

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys

xxxx
生成的可视化界面代码
xxx

class MyWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
    super(MyWindow, self).__init__(parent)
    self.setupUi(self)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    myWin = MyWindow()
    myWin.show()
    sys.exit(app.exec_())

打包成exe

打包时要添加-–paths来指定PyQt5的路径

举个例子:

pyinstaller -F -w --paths=C:\Python36\Lib\site-packages\PyQt5\Qt\bin --paths=C:\Python\Python36\Lib\site-packages\PyQt5\Qt\plugins  main.py

Designer 控件功能作用

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: 水平间距

汉化

链接:https://pan.baidu.com/s/1jzkumqjw-3VQiJxvo4V6Xw

保存到:C:\python3\Lib\site-packages\pyqt5_tools\translations

目录下即可

参考链接

参考链接

参考链接

控件

坚持原创技术分享,您的支持将鼓励我继续创作!
------ 本文结束 ------

版权声明

LangZi_Blog's by Jy Xie is licensed under a Creative Commons BY-NC-ND 4.0 International License
由浪子LangZi创作并维护的Langzi_Blog's博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Langzi_Blog's 博客( http://langzi.fun ),版权所有,侵权必究。

0%