iv遇到了问题。 我必须在我的GUI中创建嵌入我的图像(256x256矩阵)的小部件。我创建的图像是在matplotlib的帮助下完成的。 继承人的代码
import scipy
import scipy.io
import matplotlib.pyplot as plt
import numpy
def openFile(name):``
return scipy.io.loadmat(name)
def showPlot(mat, key):
plt.imshow(mat[key],cmap='gray', interpolation='nearest', vmin=None, vmax=255)
plt.axis('off')
plt.show()
name = 'skull_stripped.mat'
key = 'skull_stripped'
mat = openFile(name)
showPlot(mat,key)
我如何嵌入" mat" QTpython GUI小部件中的变量?
答案 0 :(得分:0)
我有一个类似的问题,我解决了实现与我在GUI中创建的一个按钮连接的功能。您可以使用QFileDialog()函数浏览放置Mat文件的文件夹。比起使用函数getOpenFileName()。此函数返回一个元组,其中第一个元素是文件的url。使用scipy.io.loadmat可以导入文件并针对您的目标进行管理。
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
from PyQt5.QtWidgets import QFileDialog, QDialog
import sys
import scipy.io.spio
import numpy as np
class Window(QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.title =("My_Gui")
self.top = 100
self.left = 100
self.width = 1680
self. height = 880
self.InitWindow()
# Definition of buttons
def InitWindow(self):
self.Import = QPushButton("Import Data", self)
self.Import.setGeometry(20, 50, 150, 50)
self.Import.clicked.connect(self.importdata)
# Display interface
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()
def importdata(self):
global img, img1, img2
fd = QFileDialog()
filenameraw = fd.getOpenFileName(self, caption="", directory="")
filenameraw = filenameraw[0]
raw = spio.loadmat(filenameraw)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec())
变量raw将包含您的Mat文件,您可以根据需要使用它。