PYQT5笔记 008 :图片读出界面程序

2023-10-04 10:20

本文主要是介绍PYQT5笔记 008 :图片读出界面程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

直接显示版

主要代码:

pixmap = QPixmap(r"C:\Users\Administrator\Desktop\cat.jpg")
self.label2.setPixmap(pixmap)

总体实现:

# https://pythonspot.com/pyqt5-image/的例子
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtGui import QIcon, QPixmapclass App(QWidget):def __init__(self):super().__init__()self.title = 'PyQt5 image - pythonspot.com'self.left = 10self.top = 10self.width = 640self.height = 480self.initUI()def initUI(self):self.setWindowTitle(self.title)self.setGeometry(self.left, self.top, self.width, self.height)# Create widgetlabel = QLabel(self)pixmap = QPixmap(r"C:\Users\Administrator\Desktop\cat.jpg")label.setPixmap(pixmap)self.resize(pixmap.width(), pixmap.height())self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = App()sys.exit(app.exec_())

运行后结果(按照pythonspot的例子):

在这里插入图片描述

互动版

在这里插入图片描述

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file '1.ui'
#
# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QFont, QPixmap
from PyQt5.QtWidgets import QSplashScreen, QFileDialog
import cv2class Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(640, 480)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.label = QtWidgets.QLabel(self.centralwidget)self.label.setGeometry(QtCore.QRect(90, 30, 481, 261))self.label.setObjectName("label")self.pushButton = QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(270, 350, 93, 28))self.pushButton.setObjectName("pushButton")# TODO 为按钮添加处理函数self.pushButton.clicked.connect(self.openimage)# 注意函数不加括号MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 640, 26))self.menubar.setObjectName("menubar")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))self.label.setText(_translate("MainWindow", "TextLabel"))self.pushButton.setText(_translate("MainWindow", "PushButton"))def openimage(self):print(111222333)# The QFileDialog class provides a dialog that allow users to select files or directories https://doc.qt.io/qt-5/qfiledialog.htmlimgName, imgType = QFileDialog.getOpenFileName(None, "打开图片", "", "*.jpg;;*.png;;All Files(*)")# self 报错 [读取文件的参数设置self报错,参考本文改为了None](https://www.it1352.com/1829899.html)if imgName!='':self.imgname1=imgName# print("imgName",imgName,type(imgName))self.image=cv2.imread(imgName)width = self.image.shape[1]height = self.image.shape[0]# 设置新的图片分辨率框架width_new = 700height_new = 500# 判断图片的长宽比率if width / height >= width_new / height_new:show = cv2.resize(self.image, (width_new, int(height * width_new / width)))else:show = cv2.resize(self.image, (int(width * height_new / height), height_new))image = cv2.cvtColor(show, cv2.COLOR_RGB2BGR)showImage = QtGui.QImage(image, image.shape[1], image.shape[0], 3 * image.shape[1], QtGui.QImage.Format_RGB888)self.label.setPixmap(QtGui.QPixmap.fromImage(showImage))import sys
# 主方法,程序从此处启动PyQt设计的窗体
if __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow() # 创建窗体对象ui = Ui_MainWindow() # 创建PyQt设计的窗体对象ui.setupUi(MainWindow) # 调用PyQt窗体的方法对窗体对象进行初始化设置MainWindow.show() # 显示窗体sys.exit(app.exec_()) # 程序关闭时退出进程

在这里插入图片描述

# QImage
[qimage文档](https://doc.qt.io/qtforpython-5/PySide2/QtGui/QImage.html)
# QPixmap
[PyQt5 Tutorial - Images and QPixmap](https://www.youtube.com/watch?v=D0iCHFXHb_g)[How to make OpenCV and PyQt5 based GUI for image processing applications](https://pyshine.com/Make-GUI-for-OpenCv-And-PyQt5/)[PyQt5 How To Add Image In PyQt Window](https://codeloop.org/pyqt5-how-to-add-image-in-pyqt-window/)# qlabel
[Python QLabel.setPixmap Examples](https://python.hotexamples.com/examples/PyQt4.QtGui/QLabel/setPixmap/python-qlabel-setpixmap-method-examples.html)
[qlabel官方文档,在Public Slots有方法setMovie,setPicture,setPixmap](https://doc.qt.io/qt-5/qlabel.html)
[https://forum.qt.io/topic/82420/show-picture-using-qlabel-and-pixmap](https://forum.qt.io/topic/82420/show-picture-using-qlabel-and-pixmap)
# 其他
[插入matplotlib图片至GUI界面(不产生临时文件)](https://www.bilibili.com/video/BV1Bi4y1u7XM?)
img = Image.open(io.BytesIO(buffer.getvalue()))
label.setPixmap(img.toqpixmap())

这篇关于PYQT5笔记 008 :图片读出界面程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1869

相关文章

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

Python实现AVIF图片与其他图片格式间的批量转换

《Python实现AVIF图片与其他图片格式间的批量转换》这篇文章主要为大家详细介绍了如何使用Pillow库实现AVIF与其他格式的相互转换,即将AVIF转换为常见的格式,比如JPG或PNG,需要的小... 目录环境配置1.将单个 AVIF 图片转换为 JPG 和 PNG2.批量转换目录下所有 AVIF 图

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经