概述
PyQt5调整显示图片大小适合窗口
话不多说,详见代码
注意修改路径
import sys
import cv2
import numpy as np
from PIL import Image
from PyQt5 import QtWidgets, QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class Window(QWidget):
def __init__(self,img_dir):
super(Window, self).__init__()
self.init_img = cv2.imread(img_dir)
self.resize(800,800)
self.setWindowTitle("DynamicWindow")
self.font = cv2.FONT_HERSHEY_SIMPLEX
# set your own background
palette = QPalette()
palette.setBrush(QPalette.Background, QBrush(QPixmap('./icon/backend.jpg')))
self.setPalette(palette)
# image window
self.label1 = QLabel(self)
self.label1.setFixedSize(700, 700)
self.label1.move(50, 50)
self.label1.setStyleSheet("QLabel{background:white;}")
# set icon of your Window
window_icon = QtGui.QIcon('./icon/icon.png')
self.setWindowIcon(window_icon)
self.show()
def show_img(self):
img_pil = Image.fromarray(self.init_img)
self.__reshape__(img_pil,self.init_img.shape)
def __reshape__(self,img_pil,shape):
if np.argmax(shape[:2]) == 1:
image = img_pil.toqpixmap().scaled(self.label1.width(), self.label1.width()*shape[0]/shape[1])
elif np.argmax(shape[:2]) == 0:
image = img_pil.toqpixmap().scaled(self.label1.width()*shape[1]/shape[0],self.label1.width())
self.label1.setPixmap(image)
def closeEvent(self, event):
reply = QMessageBox.question(self, 'Close',
"Quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
test = MazeWindow()
sys.exit(app.exec_())
最后
以上就是舒心小蚂蚁为你收集整理的PyQt5调整显示图片大小适合窗口PyQt5调整显示图片大小适合窗口的全部内容,希望文章能够帮你解决PyQt5调整显示图片大小适合窗口PyQt5调整显示图片大小适合窗口所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复