Python GUI开发- PyQt5 开发小工具环境入门

前言

常见的python开发gui的库有 Tkinter, PyQt5, wxPython等。本教程是选择PyQt5 开发桌面小工具。

环境准备

只需pip安装即可快速准备好开发环境

pip install pyqt5

快速开始

创建一个空的window窗口
Qapplication():每个GUI都必须包含一个Qapplication,argv表示获取命令行参数,如果不用获取,则可以使用[]代替。
QWidget 是所有用户界面对象的基类,在 PyQt5 中,它是一个非常基本和强大的类,用于创建窗口、对话框、按钮、列表等所有用户界面元素。
show():用来显示窗口
exit(app.exec_()):设置窗口一直运行, 点右上角关闭按钮进行关闭

from PyQt5.Qt import QApplication, QWidget
import sys

app = QApplication(sys.argv)

# 创建 window 窗口
window = QWidget()
window.setWindowTitle('工具')
window.resize(600, 300)

# 显示窗口
window.show()
sys.exit(app.exec_())

运行后桌面上就会显示一个窗口了

添加文本内容

1.只显示基本文本

# QLabel最基本的功能是显示文本。
label = QLabel(window)
label.setText("Hello World")

2.设置字体大小和颜色

# 设置字体和颜色
label.setStyleSheet('color: blue; font-size: 26px; font-family: Arial;')

3.设置文本对齐
水平方向:AlignLeft、AlignRight、AlignHCenter
垂直方向:AlignTop、AlignBottom、AlignVCenter
居中:AlignCenter

label = QLabel(window)
label.setAlignment(Qt.AlignCenter)
label.setText("Hello World")
label.resize(600, 30)
# 设置字体和颜色
label.setStyleSheet('color: blue; font-size: 26px; font-family: Arial;')

使用示例

from PyQt5.Qt import QApplication, QWidget, QPushButton, QLabel
import sys
from PyQt5.QtCore import Qt

app = QApplication(sys.argv)

# 创建 window 窗口
window = QWidget()
window.setWindowTitle('工具')
window.resize(600, 300)

# 文本
label = QLabel(window)
label.setAlignment(Qt.AlignCenter)
label.setText("Hello World")
label.resize(600, 30)
# 设置字体和颜色
label.setStyleSheet('color: blue; font-size: 26px; font-family: Arial;')



# 显示出来
window.show()
sys.exit(app.exec_())

添加一个按钮

给window窗口中添加一个点击按钮

from PyQt5.Qt import QApplication, QWidget, QPushButton
import sys

app = QApplication(sys.argv)

# 创建 window 窗口
window = QWidget()
window.setWindowTitle('工具')
window.resize(600, 300)

# 添加一个按钮
button = QPushButton(window)
button.setText("运行")
button.resize(100, 30)
button.move(100, 20)
button.setStyleSheet('background-color:red')

# 显示出来
window.show()
sys.exit(app.exec_())

显示效果

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot--@Autowired注入HttpServletRequest是否线程安全?

原文网址:SpringBoot--Autowired注入HttpServletRequest是否线程安全?_IT利刃出鞘的博客-CSDN博客 简介 本文用实例结合源码来说明Autowired注入HttpServletRequest是线程安全的。 SpringBoot获取HttpServletRequest有多种方式,见&#xf…

免费思维13招之十二:耗材型思维

免费思维13招之十二:耗材型思维 今天给你分享免费思维的两个子思维——相关性耗材思维和非相关性耗材思维。 相关性耗材思维,是指有一些产品的使用,需要大量的相关耗材,从而对该产品进行免费,而耗材进行资费。 举例:全世界最大的一家直销公司叫安利,它的明星产品是净水…

Axure网上超市用户端APP原型 (O2O生鲜电商/买菜到家/数字零售/京东到家/抖音超市领域)

作品概况 页面数量:共 100 页 源文件格式:rp格式,兼容 Axure RP 9/10,非程序软件无源代码 适用领域:O2O生鲜电商、网上超市、买菜到家、数字零售 作品特色 本作品为网上超市用户消费端Axure交互原型,属于…

BUUCTF——大流量分析一、二、三题

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

Spring Boot:异常处理

Spring Boot 前言使用自定义错误页面处理异常使用 ExceptionHandler 注解处理异常使用 ControllerAdvice 注解处理异常使用配置类处理异常使用自定义类处理异常 前言 在 Spring Boot 中,异常处理是一个重要的部分,可以允许开发者优雅地处理应用程序中可…

Spring WebFlux 初探-响应式编程-021

🤗 ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace The Nex…

[HUBUCTF 2022 新生赛]ezsql

测试无结果 扫描目录,得到源码 找到注入点 思路:更新资料的时候可以同时更新所有密码 我们需要知道密码的字段名 爆库 nicknameasdf&age111,description(select database())#&descriptionaaa&token31ad6e5a2534a91ed634aca0b27c14a9 爆表…

外网ip地址怎么获取?快解析

大家都清楚互联网是通过ip地址通信的,ip地址又分内网ip和外网ip。内网ip只能在内网使用;而外网ip作为电脑唯一标识,可在公网使用。那么外网ip地址怎么获取呢? 外网ip是网络运营商分配给用户的。目前最常见的两种上网方式一个是拉…

Muse论文精读

Muse Abstract 我们介绍了Muse,一个文本到图像的Transformer模型,它实现了最先进的图像生成性能,同时比扩散或自回归模型更有效。Muse是在离散标记空间中的掩码建模任务上进行训练的:给定从预训练的大型语言模型(LLM)中提取的文本嵌入&…

【保姆级介绍下运维】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

nginx反向代理使用(详细版)

1. 下载nginx,解压;(随便放在哪里) 2. 在nginx-1.26.0文件夹下创建web文件夹,继续在web文件夹下创建abcd.test.cn文件夹(文件夹的名字就叫abcd.test.cn); 3. 配置前端代理&#xff…

【现代C++】三路比较运算符

C20引入了三路比较运算符&#xff08;也称为太空船运算符&#xff0c;<>&#xff09;&#xff0c;它允许同时比较两个值&#xff0c;并返回它们的相对顺序。这个运算符简化了需要定义多个比较运算符&#xff08;如、!、<、<、>、>&#xff09;的类的代码&…

吞吐量 和 延时的关系

关于吞吐量/吞吐率、延时&#xff0c;你可以通过 Jmeter中的”聚合报告“和”用表格查看报告“来获取。 Throughput 越大&#xff0c;Latency 越差&#xff1a;因为请求过多&#xff0c;系统繁忙导致响应速度降低。Latency 的值越小说明能支持的 Throughput 越高&#xff1a;L…

全像宇宙投影第三部时间与空间(全文)下载

当这个人向空中凝视时&#xff0c;他所在的房间渐渐变得透明而朦胧&#xff0c;空中渐渐浮现一个久远前景像。突然他觉得自己在皇宫中庭内&#xff0c;他面前站著一位年轻女士非常美丽&#xff0c;有著橄榄色的皮肤。他可以见到她的颈项、手腕、脚踝上都挂著金饰&#xff0c;还…

如何使用AzurEnum快速枚举Microsoft Entra ID(Azure AD)

AzurEnum是一款针对Azure的安全工具&#xff0c;在该工具的帮助下&#xff0c;广大研究人员可以轻松快速地枚举Microsoft Entra ID&#xff08;Azure AD&#xff09;。 该工具基于纯Python 3开发&#xff0c;可以在Windows和Linux系统上运行&#xff0c;但考虑到性能和稳定性&a…

windows下mysql5.6下载安装(多实例安装)

目录 1、下载 2、安装步骤 3、mysql多实例安装 1、下载 http://dev.mysql.com/downloads/windows/installer/5.6.html 2、安装步骤 我们采用自定义安装模式&#xff1a;选择32位或64位 默认即可&#xff1a; 说明&#xff0c;如果没有该页面就上一步&#xff0c;选择高级选…

类人速度超快语音响应!OpenAI推出新旗舰模型GPT-4o,图文音频手机AI搞定

内容概述 虽然没有带来备受期待的人工智能&#xff08;AI&#xff09;搜索引擎&#xff0c;但OpenAI在主打产品AI模型上花了更多心思&#xff0c;拓展多模态功能&#xff0c;让用户可以免费玩转文字、图片和语音输入。 美东时间5月13日周一&#xff0c;OpenAI首席技术官Mira …

三星将采用铁电材料实现1000层3D NAND

在2022年的技术日上&#xff0c;三星公布了一项宏伟目标&#xff0c;即到2030年推出层数超过1000层的先进NAND芯片。据Wccftech报道&#xff0c;这家韩国存储巨头似乎正逐步接近这一目标&#xff0c;计划在NAND芯片制造中应用新型“铁电”材料。 最近美国火奴鲁鲁举行的VLSI技术…

学习Uni-app开发小程序Day11

今天是学习的第11天&#xff0c;今天学习了组件的生命周期&#xff0c;这里的生命周期&#xff0c;主要是学习uni-app的组件生命周期&#xff0c;虽然vue也有&#xff0c;但主要还是学习uni-app的。1. onLoad 监听页面加载&#xff0c;该钩子被调用时&#xff0c;响应式数据、计…

2024 年第一季度全球互联网中断事件

2024 年第一季度伊始&#xff0c;互联网发生了多起中断事件。陆地和海底电缆的损坏在多个地方造成了问题&#xff0c;而与持续中地缘政治冲突相关的军事行动影响了其他地区的连接。 几个非洲国家以及巴基斯坦的政府下令关闭互联网&#xff0c;主要针对移动网络连接。 被称为Ano…