最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

【Python

互联网 admin 52浏览 0评论

【Python

基于PyQtGraph设置槽函数,实现保存图片到本地的功能

前言

基于PyQtGraph实现绘图功能后,想要将绘制好的图片保存到本地,PyQtGraph是支持在可视化窗口中右键保存的(Exporting from the GUI);那么是否可以设置一个槽函数,通过点击保存图片的按钮实现保存图片的功能,故基于此需求进行功能的实现。

正文

1、创建Button对象,并绑定槽函数

首先要创建Button对象,并绑定槽函数:

        self.ui.btnSavePic = QPushButton()  # 初始化 保存图像按钮self.ui.btnSavePic.setStyleSheet("background: rgba(225,225,225,0.20)")  # 设置保存图像按钮 背景色及背景透明度,0.20为透明度self.ui.btnSavePic.setText("保存图像")  # 保存图像按钮设置文本self.ui.btnSavePic.clicked.connect(self.__f_btnSaveImageClicked)

self.__f_btnSaveImageClicked() 方法中实现保存图片的功能。

2、槽函数的实现

重点: 使用pyqtgraph.exporters的export方法,先创建pyqtgraph.exporters对象,然后调用export()方法。

具体代码实现:

import pyqtgraph as pg
import pyqtgraph.exporters
# 保存图像按钮按下处理函数def __f_btnSaveImageClicked(self):"""function:  保存图像按钮按下处理函数in:  Noneout:  Nonereturn:  ir=True ok, ir=False some wrongothers:  handle function of the button Save Image clicked"""folder_path = os.getcwd()  # 获取当前文件所在文件夹路径save_path_dir = f"{folder_path}\\TestResult"  # 测试结果图片存放路径if not os.path.exists(save_path_dir):  # 判断该路径是否存在os.makedirs(save_path_dir)  # 如果不存在则创建now_time = datetime.datetime.now()  # 获取当前时间new_time = now_time.strftime('[%Y-%m-%d %H-%M-%S]')  # 设置时间输出格式ex = pg.exporters.ImageExporter(self.ui.pw.scene())  # 创建pyqtgraph.exporters对象file_path=f"{save_path_dir}\\{new_time}Pic.png"ex.export(file_path)  # 调用pyqtgraph.exporters的export方法if os.path.exists(file_path):reply = QMessageBox.information(self.ui, '提示', '保存成功!', QMessageBox.Yes)

实现保存图片功能的代码段:

		ex = pg.exporters.ImageExporter(self.ui.pw.scene())  # 创建pyqtgraph.exporters对象file_path=f"{save_path_dir}\\{new_time}Pic.png"ex.export(file_path)  # 调用pyqtgraph.exporters的export方法

ex: 创建的exporters对象;
self.ui.pw: 创建的GraphicsLayoutWidget对象 (self.ui.pw = pg.GraphicsLayoutWidget(show=True))
file_path: 图片对象要保存的路径

3、实现的效果图:

【Python

基于PyQtGraph设置槽函数,实现保存图片到本地的功能

前言

基于PyQtGraph实现绘图功能后,想要将绘制好的图片保存到本地,PyQtGraph是支持在可视化窗口中右键保存的(Exporting from the GUI);那么是否可以设置一个槽函数,通过点击保存图片的按钮实现保存图片的功能,故基于此需求进行功能的实现。

正文

1、创建Button对象,并绑定槽函数

首先要创建Button对象,并绑定槽函数:

        self.ui.btnSavePic = QPushButton()  # 初始化 保存图像按钮self.ui.btnSavePic.setStyleSheet("background: rgba(225,225,225,0.20)")  # 设置保存图像按钮 背景色及背景透明度,0.20为透明度self.ui.btnSavePic.setText("保存图像")  # 保存图像按钮设置文本self.ui.btnSavePic.clicked.connect(self.__f_btnSaveImageClicked)

self.__f_btnSaveImageClicked() 方法中实现保存图片的功能。

2、槽函数的实现

重点: 使用pyqtgraph.exporters的export方法,先创建pyqtgraph.exporters对象,然后调用export()方法。

具体代码实现:

import pyqtgraph as pg
import pyqtgraph.exporters
# 保存图像按钮按下处理函数def __f_btnSaveImageClicked(self):"""function:  保存图像按钮按下处理函数in:  Noneout:  Nonereturn:  ir=True ok, ir=False some wrongothers:  handle function of the button Save Image clicked"""folder_path = os.getcwd()  # 获取当前文件所在文件夹路径save_path_dir = f"{folder_path}\\TestResult"  # 测试结果图片存放路径if not os.path.exists(save_path_dir):  # 判断该路径是否存在os.makedirs(save_path_dir)  # 如果不存在则创建now_time = datetime.datetime.now()  # 获取当前时间new_time = now_time.strftime('[%Y-%m-%d %H-%M-%S]')  # 设置时间输出格式ex = pg.exporters.ImageExporter(self.ui.pw.scene())  # 创建pyqtgraph.exporters对象file_path=f"{save_path_dir}\\{new_time}Pic.png"ex.export(file_path)  # 调用pyqtgraph.exporters的export方法if os.path.exists(file_path):reply = QMessageBox.information(self.ui, '提示', '保存成功!', QMessageBox.Yes)

实现保存图片功能的代码段:

		ex = pg.exporters.ImageExporter(self.ui.pw.scene())  # 创建pyqtgraph.exporters对象file_path=f"{save_path_dir}\\{new_time}Pic.png"ex.export(file_path)  # 调用pyqtgraph.exporters的export方法

ex: 创建的exporters对象;
self.ui.pw: 创建的GraphicsLayoutWidget对象 (self.ui.pw = pg.GraphicsLayoutWidget(show=True))
file_path: 图片对象要保存的路径

3、实现的效果图:

发布评论

评论列表 (0)

  1. 暂无评论