1、Qt简介

server/2024/9/23 4:49:35/

文章目录

  • 前言
  • 一、pySide2 / pySide6 ,PyQt5 / PyQt6
  • 二、安装包
  • 三、从一个简单的例子开始
  • 三、界面动作处理---信号(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。

二、安装包

pyside2_19">1 安装pyside2

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

pyqt5_22">2 安装pyqt5

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

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

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

python">薛蟠     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,开发上面的界面就只要下面这短短的程序即可

python">from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton,  QPlainTextEditapp = QApplication([])window = QMainWindow()
window.resize(500, 400)
window.move(300, 310)
window.setWindowTitle('薪资统计')textEdit = QPlainTextEdit

http://www.ppmy.cn/server/25106.html

相关文章

C#算法之快速排序

算法释义:朋友们,我们在上文中说到,归并算法是一种分治算法,同样的,快速排序也是一种分治算法。所谓分治算法,原理上来说,是将规模为N的问题分解为若干个规模为较小的M的问题,这些子…

影响外汇交易盈利的因素有哪些?

外汇交易就是通过汇率的差价来赚取相应的利润。在外汇交易中,投资者是否可以盈利,主要取决于是否正确的判断了市场趋势和行情。投资者在交易过程中受到主观和客观的因素影响,具体包含这些内容。 影响外汇交易盈利的因素有哪些? 1、…

[leetcode] B树是不是A树的子结构

给定两棵二叉树 tree1 和 tree2,判断 tree2 是否以 tree1 的某个节点为根的子树具有 相同的结构和节点值 。 注意,空树 不会是以 tree1 的某个节点为根的子树具有 相同的结构和节点值 。 示例 1: 输入:tree1 [1,7,5], tree2 [6,…

vue-print-nb插件来实现打印功能——打印布局及尺寸处理

之前写过一篇文章是关于vue-print-nb插件实现打印功能, vue插件——vue-print-nb 实现打印功能:http://t.csdnimg.cn/ahuxp 但是在实际使用过程中,打印的效果不尽如人意。下面把打印页面和遇到的问题做一下汇总: 1.html代码——给打印元素绑…

Spring Boot 3.2.5 集成 mysql

版本 Spring Boot 3.2.5 第一步&#xff0c;添加必要依赖 // mysql jdbc 及 驱动 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency><gr…

内存溢出如何实现自动化重启

linux内存溢出系统自动化重启 为了在Linux系统中自动化处理内存溢出&#xff08;Out of Memory, OOM&#xff09;情况并重启系统&#xff0c;你可以使用以下步骤和脚本&#xff1a; 使用cron守护进程来定期检查内存使用情况。 如果内存使用量超过某个阈值&#xff0c;触发系统…

优化SQL的方法

来自组内分享&#xff0c;包含了比较常使用到的八点&#xff1a; 避免使用select * union all代替union 小表驱动大表 批量操作 善用limit 高效的分页 用连接查询代替子查询 控制索引数量 一、避免使用select * 消耗数据库资源 消耗更多的数据库服务器内存、CPU等资源。 消…

云计算---机器学习(决赛准备)

任务 &#x1d447; &#xff1a;机器学习系统应该如何处理样本 性能度量 &#x1d443; &#xff1a;评估机器学习算法的能力。如准确率、错误率。 经验 &#x1d438; &#xff1a;大部分学习算法可以被理解为在整个数据集上获取经验。有些机器学习 的算法并不是训练于一个…