python使用PyQt5,整套,桌面应用

安装

安装
pip install PyQt5==5.7.1
pip install PyQtWebEngine

1、创建窗口,按百分比划分

from PyQt5.QtGui import QGuiApplication
from PyQt5.QtWidgets import QApplication, QWidget
# 创建应用程序实例
app = QApplication([])
# 创建主窗口
window = QWidget()
window.setWindowTitle("大得ERP")
# 定义窗口大小占屏幕尺寸的百分比
width_percent = 0.7  # 宽度占屏幕宽度的百分比,可根据需求修改
height_percent = 0.7  # 高度占屏幕高度的百分比,可根据需求修改
# 获取屏幕可用几何信息(去除任务栏等占用区域后的屏幕尺寸)
screen = QGuiApplication.primaryScreen()
screen_rect = screen.availableGeometry()
# 根据百分比计算窗口的实际尺寸
window_width = int(screen_rect.width() * width_percent)
window_height = int(screen_rect.height() * height_percent)
# 设置窗口大小
window.resize(window_width, window_height)
# 显示窗口
window.show()
if __name__ == '__main__':# 进入消息循环app.exec_()

在这里插入图片描述
2、加个点击按钮

from PyQt5.QtGui import QGuiApplication
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton# 创建应用程序实例
app = QApplication([])
# 创建主窗口
window = QWidget()
window.setWindowTitle("万邦ERP")
# 定义窗口大小占屏幕尺寸的百分比
width_percent = 0.7  # 宽度占屏幕宽度的百分比,可根据需求修改
height_percent = 0.7  # 高度占屏幕高度的百分比,可根据需求修改
# 获取屏幕可用几何信息(去除任务栏等占用区域后的屏幕尺寸)
screen = QGuiApplication.primaryScreen()
screen_rect = screen.availableGeometry()
# 根据百分比计算窗口的实际尺寸
window_width = int(screen_rect.width() * width_percent)
window_height = int(screen_rect.height() * height_percent)
# 设置窗口大小
window.resize(window_width, window_height)
# 显示窗口
window.show()def button_click():print("按钮被点击了")
# 创建按钮并添加到窗口
button = QPushButton("点击我", window)
# 将按钮的点击信号添加到button_click上,点击就触发了button_click方法
button.clicked.connect(button_click)
button.show()if __name__ == '__main__':# 进入消息循环app.exec_()

在这里插入图片描述
3、创建新窗口,保活

# 把new_window窗口变量升级全局,不然加载完button_click,就销毁了
new_window = None
def button_click():global new_windownew_window = QWidget()new_window.setWindowTitle("新窗口")new_window.resize(400, 300)new_window.show()print("按钮被点击了")# 创建按钮并添加到窗口
button = QPushButton("点击我创建新窗口", window)
# 将按钮的点击信号添加到button_click上,点击就触发了button_click方法
button.clicked.connect(button_click)
button.show()

4、加载网页

from PyQt5.QtCore import QUrl
from PyQt5.QtGui import QGuiApplication
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QHBoxLayout# 创建应用程序实例
app = QApplication([])
# 创建主窗口
window = QWidget()
window.setWindowTitle("大得ERP")
# 定义窗口大小占屏幕尺寸的百分比
width_percent = 0.7  # 宽度占屏幕宽度的百分比,可根据需求修改
height_percent = 0.7  # 高度占屏幕高度的百分比,可根据需求修改
# 获取屏幕可用几何信息(去除任务栏等占用区域后的屏幕尺寸)
screen = QGuiApplication.primaryScreen()
screen_rect = screen.availableGeometry()
# 根据百分比计算窗口的实际尺寸
window_width = int(screen_rect.width() * width_percent)
window_height = int(screen_rect.height() * height_percent)
# 设置窗口大小
window.resize(window_width, window_height)
# 显示窗口
window.show()# 把new_window窗口变量升级全局,不然加载完button_click,就销毁了
new_window = None
def button_click():global new_windownew_window = QWidget()new_window.setWindowTitle("大得ERP应用端")# 创建垂直布局管理器layout = QVBoxLayout()# 创建QWebEngineView实例用于加载网页web_view = QWebEngineView(new_window)# 加载指定的网页,这里以百度为例,你可以替换成任何你想加载的网址web_view.load(QUrl("http://www.baidu.com"))# 将QWebEngineView添加到布局中layout.addWidget(web_view)# 将布局应用到窗口new_window.setLayout(layout)screen = QGuiApplication.primaryScreen()screen_rect = screen.availableGeometry()# 根据百分比计算窗口的实际尺寸window_width = int(screen_rect.width())window_height = int(screen_rect.height())new_window.resize(window_width, window_height)new_window.show()print("按钮被点击了")
def go_backward(self):self.page.triggerAction(QWebEnginePage.Back)def go_forward(self):self.page.triggerAction(QWebEnginePage.Forward)def refresh_page(self):self.page.triggerAction(QWebEnginePage.Reload)# 创建按钮并添加到窗口
button = QPushButton("点击我创建新窗口", window)
# 将按钮的点击信号添加到button_click上,点击就触发了button_click方法
button.clicked.connect(button_click)
button.show()if __name__ == '__main__':# 进入消息循环app.exec_()

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

018-spring-基于aop的事务控制

1 先配置平台事务管理器 2 在配置 spring提供的advice 3 事务增强的aop 总结&#xff1a; 事务就是要做2个配置&#xff1a; <!-- 1 开启事务管理器 不同的框架对应不同的事务管理器 --> <bean id"transactionManager" class"org.springframework.j…

《向量数据库指南》——Milvus Cloud 2.5:Sparse-BM25引领全文检索新时代

Milvus Cloud BM25:重塑全文检索的未来 在最新的Milvus Cloud 2.5版本中,我们自豪地引入了“全新”的全文检索能力,这一创新不仅巩固了Milvus Cloud在向量数据库领域的领先地位,更为用户提供了前所未有的灵活性和效率。作为大禹智库的向量数据库高级研究员,以及《向量数据…

2025决战智驾:从中阶卷到L3,车企需要抓好一个数据闭环

作者 |王博 编辑 |德新 全国都能开之后&#xff0c;智驾继续走向哪里&#xff1f; 2024年末&#xff0c;大部分主流车企已经实现了无&#xff08;高精度&#xff09;图全国都能开。而第一梯队的玩家&#xff0c;从以规则为主的算法框架&#xff0c;向神经网络模型为主的新架构…

优化大肠杆菌菌株和发酵工艺以提高L-赖氨酸生产-文献精读94

Optimizing Escherichia coli strains and fermentation processes for enhanced L-lysine production: a review 优化大肠杆菌菌株和发酵工艺以提高L-赖氨酸生产&#xff1a;综述 对比酵母酵母中de novo生物合成啤酒花活性类黄酮黄腐醇-文献精读93-CSDN博客 赖氨酸是一种重要…

如何在 Ubuntu 22.04 上安装 Varnish HTTP 教程

简介 在本教程中&#xff0c;我们将学习如何在 Ubuntu 22.04 服务器上安装和配置 Varnish HTTP。 Varnish 是一款高性能的 HTTP 加速器&#xff0c;旨在提高内容密集型动态网站的速度。它通过将网页缓存在内存中来工作&#xff0c;从而减少 Web 服务器的负载&#xff0c;并显…

CPT203 Software Engineering 软件工程 Pt.5 软件测试(中英双语)

文章目录 8. 软件测试8.1 Testing&#xff08;测试&#xff09;8.1.1 A note of testing under the V & A framework8.1.2 The Basics8.1.3 The Goals8.1.4 The Stages 8.2 Developing testing&#xff08;开发测试&#xff09;8.2.1 Unit testing&#xff08;单元测试&…

STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计

SMEC88ST SDK开发包下载 目前市场上很多嵌入式产品方案都是可以破解复制的&#xff0c;主要是因为方案主芯片不具备防破解的功能&#xff0c;这就导致开发者投入大量精力、财力开发的新产品一上市就被别人复制&#xff0c;到市场上的只能以价格竞争&#xff0c;最后工厂复制的产…

springcloud各个组件介绍

Spring Cloud 是一系列框架的集合&#xff0c;它基于 Spring Boot 提供了在分布式系统&#xff08;如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话和集群状态&#xff09;中快速构建一些常见模式的工具。下面是对 Sprin…

AAAI 2025论文分享┆一种接近全监督的无训练文档信息抽取方法:SAIL(文中附代码链接)

本推文详细介绍了一篇上海交通大学乐心怡老师课题组被人工智能顶级会议AAAI 2025录用的的最新论文《SAIL: Sample-Centric In-Context Learning for Document Information Extraction》。论文的第一作者为张金钰。该论文提出了一种无需训练的、以样本为中心的、基于上下文学习的…

基于JSP的健身俱乐部会员管理系统的设计与实现【源码+文档+部署讲解】

基于JSP的健身俱乐部会员管理系统的设计与实现 摘 要 目前我国虽然己经开发出了应用计算机操作的健身俱乐部管理系统&#xff0c;但管理软件&#xff0c;管理方法和管理思想三者往往相脱节。造成我国健身俱乐部信息管理系统极端化的缺陷。在国外健身俱乐部已经有了一整套涉猎了…

2024 年度总结

时光荏苒&#xff0c;2024 年即将画上句号&#xff0c;回顾这一年的写博历程&#xff0c;有付出、有收获、有成长&#xff0c;也有诸多值得回味与反思的瞬间。 一、内容创作 主题涉猎&#xff1a;这一年&#xff0c;我致力于探索多样化的主题&#xff0c;以满足不同读者群体的…

SonarQube相关的maven配置及使用

一、maven 全局配置 <settings><pluginGroups><pluginGroup>org.sonarsource.scanner.maven</pluginGroup></pluginGroups><profiles><profile><id>sonar</id><activation><activeByDefault>true</acti…

Python用K-Means均值聚类、LRFMC模型对航空公司客户数据价值可视化分析指标应用|数据分享...

全文链接&#xff1a;https://tecdat.cn/?p38708 分析师&#xff1a;Yuling Fang 信息时代的来临使得企业营销焦点从产品中心转向客户中心&#xff0c;客户关系管理成为企业的核心问题&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 客户关系管理的关键是客…

委外加工业务如何调整原材料的消耗-MIGO A11-后续调整

业务背景&#xff1a;用户反馈委外加工业务回收后&#xff0c;产品已经销售&#xff0c;但委外加工结算时要对原材料消耗时行调整。如果没有销售&#xff0c;准备采用收货冲销后重新收货&#xff0c;但现在已经是2024年最后一天了。。。销售业务已经做完。不可能再冲销。其实这…

工作中常用Vim的命令

Hi, 我是你们的老朋友&#xff0c;主要专注于嵌入式软件开发&#xff0c;有兴趣不要忘记点击关注【码思途远】 目录 0. ctags -R 1.认识 Vim的几种工作模式 2.高频使用命令 2.1 修改文件 2.2 关于行号 2.3 删除多行&#xff0c;删除部分 2.4 复制粘贴 2.5 光标移动 2.…

2、redis的持久化

redis的持久化 在redist当中&#xff0c;高可用的技术包括持久化&#xff0c;主从复制&#xff0c;哨兵模式&#xff0c;集群。 持久化是最简单的高可用的方法&#xff0c;作用就是备份数据。即将数据保存到硬盘&#xff0c;防止进程退出导致数据丢失。 redis持久化方式&…

QT----------常用界面组件的使用

一、QComboBox 类 主要功能&#xff1a;提供一个下拉列表&#xff0c;用户可以从中选择一个或多个选项。 #include <QApplication> #include <QComboBox> #include <QVBoxLayout> #include <QWidget> #include <QMessageBox>int main(int argc…

【GridView渐进全解】第四部分GridView分页进阶

目录 一、启用分页 二、修改GridView分页模板 1.进入控件模板修改视图&#xff1a; 2.进入页码模板&#xff08;PagerTemplate&#xff09;视图 3.添加导航按钮控件 4.修改导航控件属性 三、输入页号跳转 1.进入页码模板视图 2.添加文本框及按钮控件 3.编写代码 【接…

单词统计详解---pyhton

有一个.txt的文本文件&#xff0c;对齐单词进行统计&#xff0c;并显示单词重复做多的10个单词 思路&#xff1a; 1将文本文件进行逐行处理&#xff0c;并进行空格分割处理 2新建一个字典&#xff0c;使用get方法将单词一次添加到字典中&#xff0c;并用sorted方法进行排序。…

大数据技术(六)—— Hbase集群安装

目录 一、Hbase安装 1、准备工作 1.1、安装rsync 1.2、编辑脚本 1.3、测试 2、安装Hadoop 3、安装zookeeper 3.1、下载最新稳定版 3.2、安装配置ZK 4、安装Hbase 4.1、解压文件 4.2、hbase-env.sh 4.3、backup-masters 4.4、配置hbase-site.xml 4.5、regionserv…