一、这是一个关于基础方面的简易介绍。/ PyQt它本身是一个程序开发框架, 这个框架其实就是C语言那边的那个QT的一个实现版。在咱们去说那个PyQt框架之前, 呢, 还是得先把QT是个什么玩意, 还有GUI这个东西到底是啥, 给大伙简单介绍介绍。Qt 它属于那种跨平台的C图形用户界面应用程序开发框架。这框架不仅仅可以用来开发那个图形用户界面的程序, 也能用来开发那些不需要图形用户界面的程序, 好比说控制台工具和服务器之类的东西。因为它是一个面向对象的框架, 所以它用了一些特殊的代码生成扩展, 这个扩展的官方名字叫元对象编译器, 英文缩写是moc, 同时它也用到了一些宏。有了这些东西, 使得它特别容易进行扩展操作, 并且还允许开发者进行真正意义上的组件编程工作。GUI 是图形用户界面 User 的简称是指采用图形方式显示的计算机操作用户界面。在目前, 开发者们在日常开发过程中会经常去使用到的那些图形用户界面控件工具里面, 主要包含了PyQt、Kivy、PyGUI以及一些其他的选项, 这里边有一个叫做PyQt的东西, 它其实是那个叫Qt的官方机构为了专门给某个平台提供图形用户界面的扩展功能而特别制造出来的一个东西。开源软件当中最核心的矛盾在于, 开发者们在使用这类软件去实现自己的私人目的或者商业目标时, 应该如何妥善处理好相关的版权以及潜在收益分配等问题。针对这一关键问题, PyQt 6 直接采用了 GPL 协议作为其授权许可证, 这样的安排让那些准备利用 PyQt 6 来创建新软件的开发者们, 能够获得充分的安心感。二、 PyQt 6这个工具是具备特定功能与特点的, 具体表现如下所示。它是 Qt 的另一个绑定库, 在特点上与 PyQt 很相似, 但是它使用了要求更低的一些许可条款来进行授权管理, 具体而言是 LGPL 这种类型。它在功能层面和接口设计规范上, 能够给开发者带来与使用 PyQt 时非常接近的体验, 因此对于已经掌握了 PyQt 使用方法的开发人员来说, 转向使用这个替代方案不会存在太多的学习障碍和切换成本。当然, 相较于拥有庞大用户基础的 PyQt 版本来讲, 这个替代品在社区层面所获得的支持力度可能会显得稍微薄弱一些, 不过在大多数常规的开发场景中, 它依然是一个值得考虑并且可以正常使用的技术选型方案。三、 6/PyQt 6之间的区别6和PyQt 6, 这两个东西, 它们都是基于一个叫Qt6的平台来的。所以, 你去看它们两的代码, 基本上是一模一样的, 没有什么区别。不过呢, 除了代码相似这点之外, 还有另外两个方面, 是两个最重要的区别。要是你能把这两点搞清楚, 就能解决开发人员在面对6和Py PyQt 6的时候, 大概百分之九十五的那些兼容性问题。第一步是对信号的命名以及槽的命名这两个方面进行说明。对于PyQt 6, 由于其关于信号与槽的命名规则和机制存在不同之处, 那么我们可以采取如下方法来实现它们的统一。from PySide6.QtCore import Signal, Slotfrom PyQt6.QtCore import pyqtSignal as Signal, pyqtSlot as Slot就是再说一说枚举这个问题。6为枚举的选项提供了快捷方式, 比如Qt中的枚举包含了星期一到星期日, 在6里面星期三可以直接用Qt.来表示, 而PyQt 6则需要进行完整的使用Qt..表示。解决这个问题的最简单办法, 是从Qt官方的帮助文档里面去查询枚举的全称路径, 另外的一个方法, 就是去用qtpy这个模块, 用上qtpy这一个模块, 就可以把和PyQt之间的事情给统一起来, 这样直接使用快捷方式就可以了。通过下面的这样一种方法来进行操作, 也就是在命令行界面中去输入pip与qtpy这两个词汇。from qtpy.QtCore import Qt四、搭建PyQt 6环境。使用pyqt64.第一步, 进行PyQt6的安装。pip install pyqt64.进行第2步, 对PyQt6的相关环境开展检测工作。在安装任务完成之后, 要对相关的运行环境执行一下检查工作, 接着为大家提供一个后缀名为.py格式的测试脚本实例:import sysfrom PyQt6 import QtWidgetsapp QtWidgets.QApplication(sys.argv)widget QtWidgets.QWidget()widget.resize(300, 200)widget.setWindowTitle(Hello, Elaine)widget.show()sys.exit(app.exec())在中运行, 或者在命令行窗口中运行如下命令: .py。在系统未出现任何错误提示的状况下, 当弹出相应的窗口画面之时, 这意味着PyQt6运行环境的安装程序已经顺利完成, 可以确认该环境的搭建工作取得成功。4.接下来进行配置, 你需要将 Qt 以及 PyUIC 都配置好。Qt是一个强大的、灵活的可视化GUI设计工具, 它使用起来很简单, 通过拖拽鼠标以及单击按钮这些操作, 用户就能够完成那些复杂的界面设计任务, 并且还能够随时查看效果图是什么样子的, 最终生成出来的用户界面文件的后缀名是.ui。PyUIC 的主要功能, 就是把上面提到的 *.ui* 格式的文件, 去转换生成出对应的*.py*文件。第一步, 我们需要先把pyqt6-tools这个工具给装上, 其具体的安装命令如下所示。pip install pyqt6-tools配置到将其打开, 找到文件菜单栏并点击, 随后在下拉菜单中选择选项。在 Tools 这一栏下面, 还有另外一级菜单也是叫 Tools 在这里面找到那个加号图标也就是 号, 点击它以后就会弹出添加外部工具的一个操作入口, 然后接着去把 Qt 这个东西给它加上。按照要求, 将下列相关信息进行设置。Name: QT Designer这个名字可以随意填Group: PyQt6Program: C:\Users\Administrator\AppData\Local\Programs\Python\Python39\Scripts\pyqt6-tools.exe (自己安装的python路径)Arguments: designerWorking directory: $FileDir$添加 PyUIC配置以下信息Name: PyUIC这个名字可以随意填Group: PyQt6Program: C:\Users\Administrator\AppData\Local\Programs\Python\Python39\Scripts\pyuic6.exe (自己安装的python路径)Arguments: $FileName$ -o $FileNameWithoutExtension$.pyWorking directory: $FileDir$你需要去检查一下安装工作有没有真正落实到位, 具体的表现就是在工具那个选项栏里面, 应该会出现一个叫做PyQt6的工具条目。五、Qt 使用基础开发流程实操点击运行按钮, 随后即可进入QT界面。在主界面的位置, 执行点击创建操作。你可以随随便便地把那些控件一个一个地拽进去, 随后呢就把那个窗体给保存下来, 我这边选择把它保存成为一种扩展名为.ui的文件。等保存的动作结束之后, 把那个界面关掉再看一眼就会发现, 在文件夹里面已经多出来了一个刚刚存好的文件这个文件的格式是 .ui。在咱们到达这个时间节点的时候, 是需要去执行一个转换操作的, 具体来说, 就是要把那个名叫 .ui 的文件变成那个名叫 .py 的文件, 而这个操作只要使用 PyUIC 就可以完成。如果在执行之后还出现了有的警告消息, 那么就有可能去用那个包管理工具, 举个例子说就是pip这个玩意儿, 来进行一次更新操作, 具体的命令写法是pip, 后面再跟上双破折号, 紧接着写一个空格, 然后再写上PyQt6, 注意这里专有名词不能改, 就这样多执行上几次这个更新命令, 等到后面再跑的时候那些警告信息就自然没有地方报了。在程序执行完毕之后, 指定的文件夹内部就会自动产生一个新的脚本程序文件, 其具体形式就如同大家下面所看到的:界面与逻辑分离界面文件是那样一种东西, 这种界面文件由 .ui 进行编译而产生出 .py 文件来, 那么当 .ui 文件发生变化时, 所对应的那一个对应的 .py 文件也会随着发生变化, 我们就把它叫做这样一种由 .ui 文件所经过编译从而得来的 .py 的文件, 我们把这样一种文件称之为界面文件。因为界面文件在每次进行编译操作的时候, 都将会执行一次初始化工作, 所以, 需要新建一个后缀名为 .py 的 源文件来对该界面文件做出调用行为, 那么, 这个新构建出来的文件就可以被称作逻辑文件。假如在将来的日子里, 你想要去更新界面的时候, 只需要对那个后缀叫作 .ui 的文件进行更新的操作, 然后再通过编译的手段把它生成对应的后缀为 .py 的文件就可以了, 完全没有必要再去碰那些负责逻辑处理的文件。这段写的是用来表示逻辑文件的具体代码, 并且它的扩展名为 “.py”, 内容如下。# -*- coding: utf-8 -*-import sysfrom PyQt6.QtWidgets import QApplication, QMainWindowfrom MainWin import *class MyMainWindow(QMainWindow, Ui_MainWindow):def __init__(self, parentNone):super(MyMainWindow, self).__init__(parent)self.setupUi(self)if __name__ __main__:app QApplication(sys.argv)my_win MyMainWindow()my_win.show()sys.exit(app.exec())运行结果六、官方文档在后续的阶段之中, 大家就能够凭借自身的努力来完成对于相关功能以及相应的DIY界面的撰写工作了。
企业数字化 ERP 产品动态
相关推荐
非全硕士毕业有派遣证吗?2026毕业证、报到证与毕业流程详解 “非全毕业有没有派遣证(报到证)?”——这个问题要先纠正一个前提:就业报到证从 2023 年起已经全国取消发放了,全日制和非全日制都不再有。
先给结论:非全硕士毕业拿的是毕业证加学位证(双证&am… · 2026/9/24 17:58:25
216. 组合总和 III 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:
只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。
示例 1:
输入: k = 3, n = 7 输出: [[1,2,4]] 解释: 1 + 2 + 4 = 7 没有其他符合… · 2026/9/24 17:58:25
2026论文爆款降AI率平台大曝光:三步操作让AI痕迹消失无踪 2026年的学术圈,仿佛一夜之间被按下了加速键。曾经大家还在为查重率焦头烂额,如今却已经全面陷入“降AI率”的生死战。随着AI检测技术不断升级,高校的审核标准也愈发严苛,论文不仅要过查重关,还得在AIGC检测中全身而退… · 2026/9/24 17:58:25
OSI七层模型详解:从原理到实战,网络排障与面试必备 先说个结论:OSI七层模型这东西,新人觉得抽象,老手觉得基础,可最后真正能把网络问题讲清楚的人,靠的还是这套框架。我这些年带过不少刚入行的朋友,也反复给人整理过OSI笔记,今天干脆把它写成一份… · 2026/9/24 18:37:48
使用 Docker Machine 在 Digital Ocean 上部署 Prisma 集群:完整实战指南 后端数据库GraphQL 【免费下载链接】prisma1 💾 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL & MongoDB) [deprecated] 项目地址: https://gitcode.com/gh_mirrors/pr/prisma1 点击查看 免费下载 本篇指南基于 Prisma 1.3… · 2026/9/24 18:37:48
Debian/Ubuntu APT报错‘无法修正错误‘:从依赖原理到实战修复 第一次在自己维护的 Debian/Ubuntu 服务器上碰到E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。这条报错时,绝大多数人的第一反应都是懵的。明明只是敲了一条apt install,系统却像在跟你打哑谜… · 2026/9/24 18:37:41
OSI七层模型详解:从分层原理到网络排错实战 1. OSI模型到底在讲什么:先搞懂它解决什么问题网络工程师入行第一课,几乎都逃不过OSI七层模型。我当年备考时也觉得这东西抽象得很,书上画了七层方框,每层写一堆协议,背了忘、忘了背,直到真正抓包排查问题才… · 2026/9/24 18:37:41
情绪Alpha实战指南:从行为金融到新闻情绪因子构建与回测 情绪Alpha这个词,过去几年从量化研究的小圈子,一步步走到了因子库的标配位置。我最早接触它时觉得有点玄,后来真正把新闻、社交媒体、卖方报告里的情绪分数接进信号之后,才发现它背后有非常扎实的行为金融学机制,而且和… · 2026/9/24 18:37:41
SpringBoot+Vue在线考试与学习交流系统开发实战指南 我们先把话放在前面:这种“在线考试学习交流”的玩意儿,网上搜一圈,要么是烂大街的学生管理系统,要么是只给前端页面没有后端逻辑的半吊子。之所以拿SpringBootVue这套组合来做,不是因为它新,而是因为它足够… · 2026/9/24 18:37:35
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44