1、Qt简介

news2024/12/23 17:19:21

文章目录

  • 前言
  • 一、pySide2 / pySide6 ,PyQt5 / PyQt6
  • 二、安装包
    • 1 安装pyside2
    • 2 安装pyqt5
  • 三、从一个简单的例子开始
  • 三、界面动作处理---信号(signal)与槽(slot)(Qt最核心的机制)--- 绑定事件
    • 封装到类中
  • 总结


前言

参考文章:Qt简介
本文开始就开始进入到qt的开发笔记书写了。使用的开发库是pySide2 / pySide6 ,PyQt5 / PyQt6,下面会给出这几个库的前世今身。

一、pySide2 / pySide6 ,PyQt5 / PyQt6

PySide2、PyQt5 都是基于著名的 Qt 库。PySide6、PyQt6是版本6,虽然6版本较新,但由于网上文档较多的还是5,因此我们还是使用5吧! (pySide直接由2跳到6,有点怪,其实二者和PyQt的版本是相互对应起来的)。

Qt库里面有非常强大的图形界面开发库,但是Qt库是C++语言开发的,PySide2、PyQt5可以让我们通过Python语言使用Qt。

但是 PySide2(Qt公司开发)、PyQt5(Riverbank Computing公司开发) 这两者有什么区别呢?
区别就是由不同的公司封装的Qt5库(是c++写的)。
【注】:两个库的使用 对程序员来说,差别很小:它们的调用接口几乎一模一样。
如果你的程序是PyQt5开发的,通常只要略作修改(导入的名字改一改就行了),比如把导入的名字从 PyQt5 换成 PySide2 就行了。
【注】:如果你的产品要买到国外去,建议PySide2(不用版权费);国内开发就无所谓了,你要版权费谁管你呢。本系列博客大多使用PySide2。

二、安装包

1 安装pyside2

终端:pip install pyside2
很慢的话可以使用清华源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyside2

2 安装pyqt5

【注】:安装后面要加tools,不然会导致一些工具不全
【注】:这里用做演示,装了pyside2就不用装这个了,二选一
终端:pip install pyqt5-tools

三、从一个简单的例子开始

参考文档:一个案例
现在我们要开发一个程序,让用户输入一段文本包含:员工姓名、薪资、年龄。
格式如下:

薛蟠     4560 25
薛蝌     4460 25
薛宝钗   35776 23
薛宝琴   14346 18
王夫人   43360 45
王熙凤   24460 25
王子腾   55660 45
王仁     15034 65
尤二姐   5324 24
贾芹     5663 25
贾兰     13443 35
贾芸     4522 25
尤三姐   5905 22
贾珍     54603 35

该程序可以把薪资在 2万 以上、以下的人员名单分别打印出来。
当然我们可以像以前一样,开发命令行程序(准确的说应该叫字符终端程序,因为UI是字符终端),让用户在字符终端输入。
但是如果我们能开发下面这样的图形界面程序,就更酷了
在这里插入图片描述
最后要呈现上面这种效果。
能吗?
能,用 Python Qt,开发上面的界面就只要下面这短短的程序即可

from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton,  QPlainTextEdit

app = QApplication([])

window = QMainWindow()
window.resize(500, 400)
window.move(300, 310)
window.setWindowTitle('薪资统计')

textEdit = QPlainTextEdit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1627864.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前缀和、差分模板(C++ 一维、二维)

前缀和(Prefix Sum)和差分(Difference)是两种常用的数组操作,用于解决一些求和、求区间和、区间修改等问题。 前缀和是指一个数组中每个位置上的元素与它前面位置上所有元素的和。例如,数组nums[1, 2, 3, 4…

打造智能语音机器人-用语音控制机器人

人工智能现已成为国家发展重大战略,智能语音技术作为人工智能产业链上的关键一环,AI应用成熟的技术之一,人工智能的发展也进入了一个崭新的阶段。那么打造智能语音机器人怎样实现用语音控制机器人呢?和小编一起来看看。 选择合适的…

【OceanBase诊断调优 】—— 如何快速定位SQL问题

作者简介: 花名:洪波,OceanBase 数据库解决方案架构师,目前负责 OceanBase 数据库在各大型互联网公司及企事业单位的落地与技术指导,曾就职于互联网大厂和金融科技公司,主导过多项数据库升级、迁移、国产化…

内推米哈游(原神),38岁被拒。。。

内推米哈游,被拒 今天逛职场 App 无意看到一条和米哈游(原神)相关的帖子。 楼主说前同事跳槽去了米哈游,因为之前合作过,彼此熟悉,主动联系自己说,想要帮忙内推。 当时 38 岁的楼主,…

【Linux系统编程】基本指令(一)

目录 1、ls指令 2、pwd指令 3、cd指令 4、touch指令 5、mkdir指令 6、rmdir指令与rm指令 7、man指令 8、cp指令 指令就像刚学windows时学的单击、双击一样,都是操作操作系统 在windows下,文件通常会放在文件夹中,而Linux中同样有文件…

vue 项目关于不同分辨率的电脑网页适配方案

流式布局:这是一种相对灵活的布局方式,页面的元素宽度使用相对宽度(例如百分比)来定义,而不是使用绝对宽度(例如像素)。这样,当浏览器窗口大小变化时,元素会自动调整大小…

MySQL B+索引的工作原理及应用

引言 在数据库系统中,索引是优化查询、提高性能的关键技术之一。特别是在MySQL数据库中,B树索引作为最常用的索引类型,对数据库性能有着至关重要的影响。本文旨简单解析MySQL中B树索引的工作原理,帮助学生朋友们更好地理解和利用…

axios——503响应超时重复多次请求——技能提升

今天在写后台管理系统时,遇到一个问题,就是每天早上一启动项目,接口会提示503超时,因此项目运行必须重新刷新请求成功后才可以正常使用。 后端同事说请求超时了,需要前端处理一下,如果是503的状态码&#…

GEM TSU Interface Details and IEEE 1588 Support

摘要:Xilinx ZNYQ ULTRASCALE MPSOC的GEM和1588的使用 对于FPGA来说,只需要勾选一些znyq的配置就行了,其余的都是软件的工作; 所有配置都勾选之后,最终会露出来的接口如下: GEM需要勾选的配置如下&#xf…

如何在CentOS本地搭建DataEase数据分析服务并实现远程查看数据分析

文章目录 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 前言 DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务…

Python基础10-使用正则表达式进行文本处理

在编程过程中,我们经常需要对文本进行处理,以提取、替换或分割特定的字符串。正则表达式(Regular Expression)是一种强大的文本处理工具,它可以帮助我们实现这些任务。以下是使用正则表达式进行文本处理的一些基本方法…

羊大师讲解五一假期,探索羊奶的健康奥秘

羊大师讲解五一假期,探索羊奶的健康奥秘 随着五一假期的到来,许多人选择出游、休息或与家人共度美好时光。在这个特别的时刻,我们或许可以停下来,探索一种营养丰富、历史悠久的饮品——羊奶。 羊奶,作为大自然赐予我…

LeetCode in Python 74/240. Search a 2D Matrix I/II (搜索二维矩阵I/II)

搜索二维矩阵I其实可以转换为搜索一维数组,原因在于,只要先确定搜索的整数应该在哪一行,即可对该行进行二分查找。 搜索二维矩阵II中矩阵元素排列方式与I不同,但思想大致相同。 目录 LeetCode in Python 74. LeetCode in Pyth…

Qt | QAbstractButton 抽象类

QAbstractButton 类中的属性 ①、autoExclusive:bool 访问函数:bool autoExclusive() const; void setAutoExclusive(bool); 描述了按钮的自动排他性,若启用了该属性,则属于同一父部件的可选中按钮的行为, 就好像是在同一排他性组中的按钮一样。除了单选按钮,默认为关…

如何进行域名解析?如何清理DNS缓存?(附源码)

目录 1、什么是域名? 2、为什么使用域名? 3、域名解析的完整流程 4、调用gethostbyname系统接口将域名解析成IP地址 5、为什么需要清理系统DNS缓存? 6、使用cmd命令清理DNS缓存 7、通过代码去清除系统DNS缓存 C软件异常排查从入门到精…

数据结构---线性表(顺序表)附代码

目录: 数据结构相关概念 1、什么是数据结构? 2、为什么需要数据结构? 顺序表 1、顺序表的概念及结构 1.1 线性表 1.2 顺序表 2、顺序表分类 3、动态顺序表的实现 什么是数据结构?? 数据结构是由 “数据”和 …

Redis高级篇详细讲解

0.今日菜单 Redis持久化【理解】 Redis主从 Redis哨兵 Redis分片集群【运维】 单点Redis的问题 数据丢失问题:Redis是内存存储,服务重启可能会丢失数据 并发能力问题:单节点Redis并发能力虽然不错,但也无法满足如618这样的高…

用不了ChatGPT?快试试免费又强大的Anthropic Claude

一、Claude 简介 Anthropic 官方: https://www.anthropic.com/product Claude 是最近新开放的一款 AI 聊天机器人,是世界上最大的语言模型之一,比之前的一些模型如 GPT-3 要强大得多,因此 Claude 被认为是 ChatGPT 最有力的竞争…

C语言:一维数组、二维数组、字符数组介绍

数组 介绍一维数组定义应用方法初始化 举例示例结果 二维数组定义应用方法初始化 举例示例结果 字符数组定义应用方法初始化 举例示例结果分析 介绍 在C语言中,数组是一种基本的数据结构,用于存储一系列相同类型的数据。数组可以是多维的,最…

助力企业挖掘市场商机,赛盈分销与UseePay联合举办家居用品DTC品牌出海峰会!

随着中国经济的井喷式发展以及政策的扶持与完善下,中国家居品牌在全球市场上的实力不断被夯实,国内家居品牌数量不仅激增,商品也更加深远持久影响着海外消费者的生活。 中国家居企业出海之路曾陷入危机当中,而2023年年终的经济复苏…