这个 PyQt5 实战项目,让我多拿了3w……

654c93d87bb2d7bab61d0c77113d95cf.png

点击蓝字 关注我们

fc82e8b7d9555d102156ae343ecff2af.png

最近,我和某不知名码农讨论起 PyQt5 :为什么用 PyQt5 做起界面好累?

说实话,做界面本身就挺难做的,Qt 已经做得不错了!(PS:如果你觉得不行,那就以你为准326eca25b15de26265ae52309dd2429e.png

记得上大学时期,每次需要用到界面的大作业,比如查题、做文件共享工具等等,我都会首选 PyQt5。做项目时,Qt 用起来还是很方便的,很多底层的东西都不用考虑。

a049828606a732f3ccce6b2f1230183b.png

你有使用过 PyQt5 吗?如果有,欢迎在下方留言区分享一下自己的使用心得吧~

6a6dcf622115d2d30c496940e767d0b7.png敲个小重点682b941e611c5a4f8d9f210885d5a379.png

蓝桥云课上线了「4月用户满意度大调研」

新课上线、服务优化、竞赛问题收集,全都听你的!

首次填写问卷,将赠送【7天标准会员】

4bd878ca909478a91c9cc6c69209c4ab.png问卷链接:https://jinshuju.net/f/JHd8KK

(戳戳文末“阅读原文”也可直达链接哦~)

说回正题,我们来浅分享一下关于 PyQt5 的那些事吧~

作者:zly717216,阿里 Qt 框架师

761b1440f35589681ba2e77af86342e6.png

01

PyQt5 简介

PyQt5 是 Digia 的一套 Qt5 应用框架与 python 的结合,同时支持 2.x 和 3.x。Qt 库由 Riverbank Computing 开发,是最强大的 GUI 库之一。

PyQt5 是由一系列 Python 模块组成,超过 620 个类,6000 函数和方法,并能在 Unix、Windows 和 Mac OS 等主流操作系统上运行。

PyQt5 类分为很多模块,主要模块有:

573682a84158019da67f64b40b4ae2fb.png

96ed98544f00dcad85cac89e5382df0a.png

02

ui 文件转换为 py 文件

PyQt5 的安装

pip install pyqt5

Qt Designer 的安装

打开 cmd 窗口,安装 pyqt5-tools

pip install pyqt5-tools

文件转换

D:\Python Env\spiders\Lib\site-packages\qt5_applications\Qt\bin 

目录下找到 designer.exe 文件,打开 designer.exe,写一个简单的 Hello pyqt5 窗口程序,点击 Widget,并点击创建按钮。

8ac5b641e1e4545ded35ad6014edd62b.png

77c7b6f954fa416d98c2988699dd748c.png

拖入一个 label 控件,并修改文本为 “Hello pyqt5”。

0b5fddd80ad9629211675b998eb0cd11.png

在 D 盘新建一个 test 文件夹,用来存放源文件。然后按下 Ctrl+S,修改 ui 文件名并保存。

798e2f9419b500d93abc06ab1810c212.png

打开 shell 窗口,输入 pyuic5 并回车。出现下图这种情况,表示 pyqt5-tools 安装好了。

91b491f6087f283fe562bdcb0570601f.png

输入命令:pyuic5 -o py 的绝对路径 源 ui 文件的绝对路径。

443d34c6c9334cbda14ed9630c41d8b6.png

之后就能看到 D 盘下生成了一个 test.py 文件。

4951807eabf16f6e68d3a517b8441e8a.png

源文件内容

# -*- coding: utf-8 -*-


# Form implementation generated from reading ui file 'D:\test\test.ui'
#
# Created by: PyQt5 UI code generator 5.15.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.




from PyQt5 import QtCore, QtGui, QtWidgets




class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(130, 90, 71, 31))
        self.label.setObjectName("label")


        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)


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

直接运行,你会发现什么都没有发生,因为只是转化成了一个窗口类,还没有实例化。

在开头导入模块:

import sys

在末尾添加:

if __name__ == "__main__":


    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    
    ui = Ui_Form()
    ui.setupUi(MainWindow)
    
    MainWindow.show()


    sys.exit(app.exec_())

运行

0a0a97c3ecc78cfe99da6df8ad74c594.png

除此之外,作者还在蓝桥云课上线了《零基础入门玩转 PyQt5》,以轻快的行文、清晰的脉络、应用式的场景,手把手地带领同学们学习 PyQt5 的控件、布局管理、QSS 样式表和信号与槽机制,还会带领大家开发实际项目

这里,有个小伙伴这样评价这门课(不是托,请放心82c8298d74821949f9092efed1b5827f.png):

e2d13323bdfdaceedab77d784acbbac9.png

如果你想学习 PyQt5,欢迎扫码领取八折优惠学哦~

7f42f35f27f02b95dcbe5be59e9bf323.png

3b798391afd39d8ba5fca725cd189594.gif

戳戳“阅读原文”回答问卷领取福利!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值