PyQt 笔记

参考文章

pyqt5:利用QFileDialog从本地选择图片\文本文档显示到label、保存图片\label文本到本地(附代码)_pyqt5中qfiledialog.getopenfileurl-CSDN博客

txt文件的打开与保存 

    def openTextFile(self):  # 选择文本文件上传fd,fp = QFileDialog.getOpenFileName(self.centralwidget, "选择文件", "", "*.txt;;All Files(*)") # 打开对话框f=open(fd,'r') # 将刚刚获取的保存路径fd对应的文件打开,其中'r' 表示以读取模式打开文件self.label_txt.setText(f.read()) # 在控件上显示读取到的txt文件里边的内容self.label_filePath.setText(fd) # 在控件上显示读取到txt文件的路径f.close()def saveTextFile(self):  # 保存文本文件fd,fp= QFileDialog.getSaveFileName(self.centralwidget, "保存文件", "", "*.txt;;All Files(*)") # 点击“保存文件”按钮后弹出对话框要求我们给需要保存的文件命名,最后点击保存f=open(fd,'w') # 将刚刚获取的保存路径fd对应的文件打开,其中'w' 表示以写入模式打开文件。f.write(self.label_txt.text()) # 在保存路径fd对应的文件里写入信息。f.close() #关闭文件

图片的打开与保存

    def openImage(self):  # 选择本地图片上传global imgName  # 这里为了方便别的地方引用图片路径,我们把它设置为全局变量imgName, imgType = QFileDialog.getOpenFileName(self.centralwidget, "打开图片", "", "*.jpg;;*.png;;All Files(*)")    # 弹出一个文件选择框,第一个返回值imgName记录选中的文件路径+文件名,第二个返回值imgType记录文件的类型jpg = QtGui.QPixmap(imgName).scaled(self.label_image.width(), self.label_image.height())  # 通过文件路径获取图片文件,并设置图片长宽为label控件的长宽self.label_image.setPixmap(jpg)  # 在label控件上显示选择的图片self.label_imagePath.setText(imgName)  # 显示所选图片的本地路径def saveImage(self):  # 保存图片到本地screen = QApplication.primaryScreen() #这一行代码获取了当前应用程序的主屏幕对象,通过QApplication.primaryScreen()函数实现。这个屏幕对象用于后续截取屏幕上的图像。pix = screen.grabWindow(self.label_image.winId()) # 这一行代码使用screen.grabWindow()函数来截取指定窗口(在这里是label_image窗口)的图像。self.label_image.winId()返回label_image窗口的唯一标识符。fd,type= QFileDialog.getSaveFileName(self.centralwidget, "保存图片", "", "*.jpg;;*.png;;All Files(*)") #弹出对话框pix.save(fd)

保存图像的第二种方式:

     def saveImage(self):img = self.label_4.pixmap().toImage()fpath, ftype = QFileDialog.getSaveFileName(self.centralwidget, "保存图片", "d:\\", "*.jpg;;*.png;;All Files(*)")img.save(fpath)

pdf的保存

    def saveTextFile(self):  # 保存文本文件inputFile ="./folder/result.docx"fd,fp= QFileDialog.getSaveFileName(self.centralwidget, "保存PDF", "","PDF Files (*.pdf)")f=open(fd,'w')convert(inputFile, fd)f.close()

pdf转换代码:

from docx2pdf import convert
inputFile ="./report.docx"
outputFile ="convert.pdf"
file = open(outputFile,'w')
file.close()
convert(inputFile, outputFile)

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

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

相关文章

Xilinx FPGA——ISE的UCF时序约束

时序约束是我们对FPGA设计的要求和期望,例如,我们希望FPGA设计可以工作在多快的时钟频率下等等。 设计是要求系统中的每一个时钟都进行时序约束。 一、分组约束语法(NET、PIN、INST) TNM是最基本的分组约束语法,其语法…

【小布_ORACLE笔记】Part11-5 RMAN Backups

【小布_ORACLE笔记】Part11-5 RMAN Backups 文章目录 【小布_ORACLE笔记】Part11-5 RMAN Backups1. 增量备份(Incremental Backups)1.1差异增量备份(Differential Incremental Backup)1.2累积增量备份(Cumulative Incremental Bac…

Mysql 字符集配置修改操作

目录 服务器字符集和校对规则 数据库字符集和校对规则 表字符集和校对规则 列字符集和校对规则 例 1 连接字符集和校对规则 MySQL 服务器可以支持多种字符集,在同一台服务器、同一个数据库甚至同一个表的不同字段中,都可以使用不同的字符集。Oracl…

C#WPF本地化语言实例

本文演示C#WPF中使用.resx资源文件本地化语言实例 一、更改默认Resources.resx 文件 在解决方案资源管理器中,您将在“属性”文件夹下看到 Resources.resx 文件。将访问修饰符从内部更改为公共,以便可以在 XAML 文件中访问它。 二、创建新资源文件 默认情况下,程序使用默…

uniapp如何与原生应用进行混合开发?

目录 前言 1.集成Uniapp 2.与原生应用进行通信 3.实现原生功能 4.使用原生UI组件 结论: 前言 随着移动应用市场的不断发展,使用原生开发的应用已经不能满足用户的需求,而混合开发成为了越来越流行的选择。其中,Uniapp作为一种跨平台的开…

【开源视频联动物联网平台】写一个物联网项目捐献给Dromara组织

一、平台简介 MzMedia开源视频联动物联网平台,简单易用,更适合中小企业和个人学习使用。适用于智能家居、农业监测、水利监测、工业控制,车联网,监控直播,慢直播等场景。 支持抖音,视频号等主流短视频平台…

福州大学《嵌入式系统综合设计》 实验十一:OpenCV视频解码

一、实验目的 掌握OpenCV视频解码的流程,对比和FFMPEG的区别。 二、实验内容 搭建实验开发环境,编译并运行解码程序,对编码后的视频码流通过OpenCV进行解码。 三、开发环境 开发主机:Ubuntu 20.04.6 LTS 硬件:算…

Linux 磁盘分区处理

最近实施过程中遇到客户提供给我们的服务器操作系统和Docke容器环境都已经安装完成,但磁盘的分区没有进行整理好。磁盘总共270G,系统安装分配了60G,剩余未创建分配需要处理。由于分区情况每家不一样,但大致流程都是相同的&#xf…

[论文阅读]VoxSet——Voxel Set Transformer

VoxSet Voxel Set Transformer: A Set-to-Set Approach to 3D Object Detection from Point Clouds 论文网址:VoxSet 论文代码:VoxSet 简读论文 这篇论文提出了一个称为Voxel Set Transformer(VoxSeT)的3D目标检测模型,主要有以下几个亮点: 提出了基于…

QML学习一、GridView的使用和增加添加动画、删除动画

一、效果预览 二、源码分享 import QtQuick import QtQuick.ControlsApplicationWindow {visible: truewidth: 640height: 480title: "Test"property int cnt:cnt model.countListModel{id:modelListElement{index:0}ListElement{index:1}ListElement{index:2}List…

Docker 使用心得

创建一个docker 镜像,相关运行代码,放在docker镜像文件同级, pm2 不能与 docker一起使用() # node 服务docker FROM node:10.16.3LABEL author"sj"RUN mkdir -p /var/nodeCOPY ./node /var/nodeWORKDIR /va…

java_springboot企业人事考勤请假管理信息系统rsglxx+jsp

(1)熟练掌握Java开发的原理和方法 (2)熟练学习掌握SSM框架 (3)熟悉软件开发的流程 (4)了解中内外互联网中所主流的技术 (5)深层次的了解计算机学科领域的知识…

CCS中静态库lib的生成与调用

在调试DSP设备的时候,发现好多工程会把比较核心的代码生成静态库lib,代码运行的时候直接调用lib里面的相关函数就行。但是从外部是看不到lib库里面的内容的,这样通过静态库的方式实现对代码的加密。 在网上找了好久如何将函数生成静态库*.lib…

C++ Primer Plus第十二章笔记

目录 动态内存和类 静态类成员 特殊成员函数 在构造函数中使用new时的注意事项 返回对象的问题 使用指向对象的指针 动态内存和类 C中使用 new 和 delete 运算符来动态控制内存,析构函数不可缺少,否则会导致很多新的编程问题的出现。有时必须重载…

Mybatis 的简单运用介绍

Mybatis 用于操作数据库 操作数据库肯定需要: 1.SQL语句 2.数据库对象和 java 对象的映射 接下来我们看看怎么使用 Mybatis 我们先搞一些数据库内容 然后将其这些内容和Java对象进行映射 再创建一个类实现 select * from 再写一个类证明上述代码是否可以实现 别忘了在appli…

unity学习笔记13

一、常用物理关节 Unity中的物理关节(Physics Joints)是用于在游戏中模拟和控制物体之间的连接。物理关节允许你在对象之间应用各种约束,例如旋转、移动或固定连接,以模拟真实世界中的物理交互。 物理关节类型: 1.F…

C 语言-数组

1. 数组 1.1 引入 需求:记录班级10个学员的成绩 需要定义10个变量存在的问题:变量名起名困难变量管理困难需求:记录班级1000个学员的成绩 1.2 概念 作用:容纳 数据类型相同 的多个数据的容器 。 特点: 长度不可变容纳 数据类型…

Django 用户验证与权限管理详解

概要 Django是一款强大且灵活的Python Web框架,不仅在构建功能复杂的网站应用中表现出色,还在诸如用户验证、权限管理等细微之处提供了优秀的解决方案。在多用户、权限复杂的Web应用中,认证和权限管理尤其重要。接下来,我们就来探…

数据之美:数据可视化的力量与必要性

在当今信息爆炸的时代,数据量呈指数级增长,它们是我们日常生活和工作中的重要组成部分。然而,数据本身是无生命的数字和统计,若不能有效地被理解、传达和利用,其潜力就难以实现。这正是数据可视化变得越来越重要的原因…

深入了解Java8新特性-日期时间API之ChronoUnit、ChronoField

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概3000多字,预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…