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

相关文章

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt