Qt & PyQt & PyQt5初体验——安装配置开跑保姆级教学,一篇就够了


前言

本篇内容由浅到深讲解了Qt的基本身世,着重讲解了Qt库的Python绑定:PyQt。纵深介绍了Qt、python、pycharm、PyQt5、PyQt5_tools的安装与环境变量的配置,以及Qt Designer、PyUIC、PyRcc的配置。Qt的功能强大,本篇谈到了常用的功能和Qt&语言之间的基本关系,对一些概念也稍作扩展,希望能够帮助到有需要的小伙伴。


一、初识Qt

1.Qt 是什么?

(1)Qt是一个跨平台的 C++ 框架(C++库)主要用于界面设计(GUI编程),也具有网络通信、多线 程、数据库连接、文件操作、视频音频功能。
(2)使用 Qt 开发的软件,具有优良的跨平台特性、面向对象 、丰富的API、大量的开发文档等优点,相同的代码可以在任何支持的平台上编译与运行,而不需要修改源代码。
(3)版本推荐:Qt5.6 或 Qt5.9,这两个版本Bug较少,相对稳定。
(4)扩展了解请点击这里

2.Qt与C++的关系

(1)C++是一门语言。而Qt是一个图形界面库。
(2)Qt基于C++语言实现,它的类都是C++写的。C++本身只是作为一种编程语言,而Qt利用它实现了一个半成品的应用框架。Qt把C++的内容封装成自己的库,并带有界面。另外C++的类,接口在Qt中也可以使用,而且用Qt编程时,很大一部分和信号与槽有关的C++代码不用自己去写,Qt 可以自动生成。
(3)Qt的编程语法和C++完全一样。

3.Qt与Python的关系

这里比较重要,后面的几篇博文会用到这里的内容。

(1)Qt库的Python绑定,就是用Python将C++实现的功能再次实现了一边,把Python脚本嵌入Qt中执行,提供了使用完整Qt应用程序接口的方法。页面设计时,Python用于逻辑控制,Qt用于界面设计。
优点: 跨平台、代码简洁。缺点:打包后的程序很多。

4.Qt有什么作用

(1)Qt 主要用于桌面程序开发和嵌入式开发。
(2)还可用于小型C/S网络系统的开发,多媒体系统,Demo开发等。
(3)可开发 GUI 程序,也可开发非 GUI 程序。

什么是GUI ?
GUI (图形用户界面),是底层程序代码的前端表示,作出相对应的前端反映,例如QQ的登陆页面。也有另一个说法:GUI是图形化界面或图形用户接口,是指采用图形方式显示的计算机操作环境用户接口。

5.Qt中的接口

(1)Qt中的接口的作用就是提供一个与其它系统交互的方法。信号和槽是一种高级接口,应用于对象之间的通信,Qt具有自行定义的通信机制。

什么是信号和槽?
对象改变状态时会发出信号,自动调用与之对应的槽函数。回调函数用于响应每个动作,通常是一个指向某函数的指针,在Qt中信号和槽取代了这些函数指针。

6.Qt可嵌入脚本

(1)Qt内建的Script支持:QSA(Qt Script for Applications),跨平台脚本工具箱,为静态的Qt/C++提供了一个脚本页面,可以定制和拓展程序。
(2)用Python脚本创建宏和批处理。
(3)用Python脚本实现自动化测试。
(4)用Python脚本来快速完成一些原型设计.。

二、Qt库的Python绑定:PyQt

1.安装Qt

可以根据上面推荐的稳定版本下载。
下载地址:https://download.qt.io/archive/qt/
Qt的环境配置和下面的python相似,小伙伴们类比一下吧,学会举一反三。

2.绑定Qt库

(1)安装python,配置环境变量

根据需求下载相应版本即可。
下载地址:http://www.python.org/download/

  1. 找到你的安装路径先复制准备粘贴。

    在这里插入图片描述

  2. 按照步骤找到环境变量,新建后把上一步复制的路径粘贴进去即可。

    在这里插入图片描述

  3. 检查安装:win + R 输入cmd 打开dos磁盘命令框都会吧?输入python显示这样的信息就ok了。

    在这里插入图片描述

(2)安装开发工具pycharm
  1. 下载地址:https://www.jetbrains.com/pycharm/download/#section=windows
  2. 如果你想使用收费版的,问度娘可以解决,实在找不到解决办法,发私信我给你。
(3)安装工具包PyQt5、PyQt5-tools
  1. 如果你想要安装python的某一个包,直接老方法打开cmd,输入pip install +包名即可。
  2. 下载工具包:(本人经常使用这种方式,也有其他下载方式,感兴趣可以扩展了解一下)
    pip install PyQt5 / pip install PyQt5 -i https://pypi.douban.com/simple
    pip install PyQt5-tools / pip install PyQt5-tools -i https://pypi.douban.com/simple
  3. 配置环境变量:
    找到路径:Python\Lib\site-packages
    仍然是复制路径,新建path,重复过程就行了。

    在这里插入图片描述

  4. 效果是什么样?

    在这里插入图片描述

  5. 检验:还是win + R 输入cmd 再输入path

    在这里插入图片描述

3.配置Qt Designer

(1) 打开pycharm。

在这里插入图片描述


(2)打开设置。

在这里插入图片描述

按照地址找到:E:\Python\Lib\site-packages\qt5_applications\Qt\bin\designer.exe

在这里插入图片描述

Program:Python\Lib\site-packages\qt5_applications\Qt\bin\designer.exe(按照这个路径去寻找你的designer.exe,复制你的路径填上去)
Working directory:$FileDir$

4.配置PyUIC

在这里插入图片描述

Program:E:\Python\Scripts\pyuic5.exe(按照这个路径去寻找你的pyuic5.exe,复制你的路径填上去)
Arguments:-m PyQt5.uic.pyuic  $FileName$ -o $FileNameWithoutExtension$.py

5.配置PyRcc

在这里插入图片描述

Program:E:\Python\Scripts\pyrcc5.exe(按照这个路径去寻找你的pyrcc5.exe,复制你的路径填上去)
Arguments:-m PyQt5.uic.pyuic  $FileName$ -o $FileNameWithoutExtension$.py
到这里你发现没,working directory是一样的,所以后两个配置我都没写。

6.展示配置成功的效果

在这里插入图片描述

三、如何使用?

  1. 找到Qt-designer。

    在这里插入图片描述

  2. 创建一个窗口。

    在这里插入图片描述

  3. 布置控件。

    在这里插入图片描述

  4. 保存ui文件。

    在这里插入图片描述

  5. 找到ui文件转py文件。

    在这里插入图片描述

  6. 观察py文件你会发现,代码是自动生成的,所以这个工具是不是很好用?

    在这里插入图片描述

  7. 在代码的最后添加下面的代码。
# 这里先不解释代码是什么意思,后面的更新会慢慢讲解的。
# 循序渐进,这里体会一下就可以啦。
if __name__ == "__main__":
    import sys
    from PyQt5.QtWidgets import QApplication, QMainWindow
    app = QApplication(sys.argv)
    Mainwindoww = QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(Mainwindoww)
    Mainwindoww.show()
    sys.exit(app.exec_())
  1. 执行代码,你的设计的窗口就会出现。

    在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340