PYQT实现上传图片,保存图片

代码如下 

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys

class MyWindow(QMainWindow):
    def __init__(self):
        super(MyWindow, self).__init__()

        self.setWindowTitle("图片处理")
        self.setGeometry(200, 200, 500, 400)

        self.central_widget = QWidget()
        self.setCentralWidget(self.central_widget)
        main_layout = QVBoxLayout()  # 整体的垂直布局

        # 上面两个 label 的水平布局
        label_layout = QHBoxLayout()
        self.label1 = QLabel()
        label_layout.addWidget(self.label1)  # 图片 1 居左

        self.label2 = QLabel()
        label_layout.addWidget(self.label2)  # 图片 2 居右
        main_layout.addLayout(label_layout)  # 将水平布局添加到垂直布局

        # 下面两个按钮的水平布局
        button_layout = QHBoxLayout()
        self.button1 = QPushButton("打开图片")
        self.button1.clicked.connect(self.open_image)
        button_layout.addWidget(self.button1)

        self.button2 = QPushButton("复制图片")
        self.button2.clicked.connect(self.copy_image)
        button_layout.addWidget(self.button2)
        main_layout.addLayout(button_layout)  # 将水平布局添加到垂直布局

        self.central_widget.setLayout(main_layout)  # 设置中央部件的布局

    def open_image(self):
        file_dialog = QFileDialog()
        file_path, _ = file_dialog.getOpenFileName(self, "选择图片", "", "Image Files (*.jpg *.png)")
        if file_path:
            pixmap = QPixmap(file_path)
            self.label1.setPixmap(pixmap)

    def copy_image(self):
        pixmap = self.label1.pixmap()
        if pixmap:
            self.label2.setPixmap(pixmap)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

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

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

相关文章

最全海外广告库大合集,建议收藏!

在当今数字营销的世界中,广告投放的精准性和创意性变得越来越重要。而“海外广告库”作为一种强大的工具,正在被越来越多的广告主和营销专家所使用。本文将深入探讨几大主流的海外广告库,并探讨如何利用它们来提升广告效果。 什么是海外广告…

推荐一个开源的kafka可视化客户端GUI工具(Kafka King)

大佬的博客地址: https://blog.ysboke.cn/posts/tools/kafka-king Github地址: https://github.com/Bronya0/Kafka-King Kafka-King功能清单 查看集群节点列表(完成)支持PLAINTEXT、SASL PLAINTEXT用户名密码认证(完…

[C语言]-基础知识点梳理-文件管理

前言 各位师傅们好,我是qmx_07,今天给大家讲解文件管理的相关知识,也就是常见的 读取,删除一类的操作 文件 为什么要使用文件? 程序的数据是存储在电脑的内存中,如果程序退出,内存回收&…

[Leetcode 61][Medium]-旋转链表

目录 一、题目描述 二、整体思路 三、代码 一、题目描述 原题链接 二、整体思路 首先发现这样的规律:当k大于等于链表中节点总数n时,会发现此时旋转后的链表和kk%n时的旋转后的链表一样。同时对于特殊情况n0和n1时,无论k的值为多少都可以…

认识Mongodb及其Java的连接

什么是Mongodb? MongoDB是一个介于关系数据库和非关系数据库(nosql)之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 优点 1.MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。 2.如果负载的增加&#x…

Python中matplotlib使用4

在matplotlib中,可以通过绘制“饼图”来展示各类别在总体中所占的比例。 1 绘制基本“饼图” 通过matplotlib中的pie()函数绘制饼图,代码如图1所示。 图1 绘制基本“饼图”的代码 从图1中可以看出,pie()函数的参数y即为要绘制的数据&#…

使用SSMS连接和查询 SQL Server 实例

简介 SQL Server Management Studio 是用于管理SQL Server基础架构的集成环境。Management Studio提供用于配置、监视和管理SQL Server实例的工具。 此外,它还提供了用于部署、监视和升级数据层组件(如应用程序使用的数据库和数据仓库)的工具以生成查询和脚本。 官方…

现代RTK测量设备的高速发展及其应用前景

RTK(实时动态定位,Real-Time Kinematic)测量设备是利用GNSS(全球导航卫星系统,Global Navigation Satellite System)技术,通过引用基准站与移动站的数据传输机制,实现高精度的位置信…

基于spring boot的小型诊疗预约平台的设计与开发

TOC springboot262基于spring boot的小型诊疗预约平台的设计与开发 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进…

打靶记录12——Fawkes

靶机: https://download.vulnhub.com/harrypotter/Fawkes.ova这是个哈利波特系列的靶机,作者和本人都非常喜欢这个系列,因为它的漏洞和利用点都设计得很巧妙。 难度: 高 目标: 取得2个root权限 3 个flag 涉及攻…

Linux中的exec族函数

exec 系列函数用于替换当前进程的用户空间代码和数据,从而执行一个新的程序。调用 exec 系列函数不会创建新的进程,但会用新程序的代码和数据替换当前进程,因此调用 exec 后,进程的 ID 保持不变,但进程的行为变为执行新…

前端基础4

本节内容: 1.CSS的弹性布局,也称Flex布局 2.Vue2的生命周期 一、Flex布局 弹性布局是前端页面布局最常用的方式之一,通常使用四个属性。 1.创建盒子 先创建一个盒子并为其添加一些样式可以更直观的体验弹性布局,代码如下&#…

keepalived保活nginx1,nginx2

1 下载两个小玩意 yum -y install keepalived yum install psmisc -y 2 配置nginx1,2自启脚本 vim /root/shell/check-nginx.sh 我的脚本放在root/shell里 #!/bin/bash #获取nginx正在运行的进程数 npsnumps -C nginx --no-header | wc -lif [ $n…

企业级WEB应用服务器TOMCAT攻略

目录 一 WEB技术 1.1 HTTP协议和B/S 结构 二 WEB框架 2.1 web资源和访问 2.2 后台应用架构 三 tomcat的功能介绍 3.1 安装 Tomcat 3.2 tomcat的文件结构和组成 3.3 生成tomcat的启动文件 四 结合反向代理实现tomcat部署 4.1 常见部署方式介绍 4.2 利用 nginx 反向代…

第2章-01-网站中的资源介绍

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Web爬虫入门与实战精讲,后续完整更新内容如下。 文章…

性能测试-性能监控分析与调优(三)《实战-CPU瓶颈分析、内存问题分析、gc、tomcat性能调优,数据库监控-redis\mysql》

性能监控 使用命令监控 cpu瓶颈分析 top命令 在进行性能测试时使用top命令,界面如下 上图可以看出 - CPU 概况区: %Cpu(s): - us(用户进程占用CPU的百分比), 和 sy(系统进程占用CPU的百分比) 的数…

热门奥运冠军代言费用贵,中小微企业怎么找冠军代言?

巴黎奥运会的热潮未退,这个月运动员代言的比例显著上升,比如游泳冠军潘展乐拿下携程等5个代言,孙颖莎手握可口可乐等7个代言。越来越多的企业和品牌通过冠军代言的形式来提升自身的品牌形象和市场竞争力。运动员代表着健康、拼搏和胜利&#…

thinkphp5漏洞分析之文件包含

目录 一、环境 二、开始研究 三、漏洞分析 四、漏洞修复 五、攻击总结 一、环境 thinkphp官网下载 创建 application/index/view/index/index.html 文件,内容随意(没有这个模板文件的话,在渲染时程序会报错) 二、开始研究 创…

【机器人学】7-2.六自由度机器人自干涉检测-计算圆柱体的上下圆心坐标【附MATLAB代码】

目录 前言 机械臂几何参数 机器等效圆柱体坐标确定 MATLAB代码 前言 上一章介绍了机器人自干涉检测的总体算法,提出了算法的三个核心: 一 根据机械臂的几何数据以及DH参数,确定机械臂等效的圆柱体的上下圆心坐标。 二 将一个圆柱体旋转到…

《少年白马醉春风》圆满收官 白澍“琅琊王”萧若风热度飙升

由陈宙飞执导,周木楠编剧,侯明昊、何与、胡连馨领衔主演,夏之光、姜贞羽特别出演,完颜洛绒、白澍等主演的古装武侠剧《少年白马醉春风》于昨日收官,大结局播出后,粉丝们直呼没看够!对于剧中角色…