Python 如何将Pixmap绘制到Qgraphicsview?
我正在尝试编写代码,在滚动移动时更改一些图像。我使用Qt设计器绘制了两个按钮,一个滚动条和一个QGraphicsView 我尝试了许多方法来绘制图像,这是一个QPixmap。擦除QGraphicsView不是问题,但我想画这个pixmapPython 如何将Pixmap绘制到Qgraphicsview?,python,numpy,pyqt,qgraphicsview,qpixmap,Python,Numpy,Pyqt,Qgraphicsview,Qpixmap,我正在尝试编写代码,在滚动移动时更改一些图像。我使用Qt设计器绘制了两个按钮,一个滚动条和一个QGraphicsView 我尝试了许多方法来绘制图像,这是一个QPixmap。擦除QGraphicsView不是问题,但我想画这个pixmap import sys from PyQt4.QtGui import * from PyQt4.QtCore import * from PyQt4 import uic from PyQt4.QtGui import QImage import qimage
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4 import uic
from PyQt4.QtGui import QImage
import qimage2ndarray
import matplotlib
from matplotlib import colors as C
from matplotlib import pyplot, cm
from matplotlib.figure import Figure
import dicom
import numpy
import ReadDicom as RD
import Matrixhandler as MH
form_class = uic.loadUiType('Dicom_GUI.ui')[0]
class Mainwindow(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
self.connect(self.CTREAD, SIGNAL("clicked()"), self.ct_clicked)
self.connect(self.STRUCTREAD, SIGNAL("clicked()"), self.st_clicked)
self.CTSlider.valueChanged.connect(self.valchange)
def ct_clicked(self):
self.dcmList = []
self.CTList = []
self.dcmList = RD.dcmRead()
RD.dSave(self.dcmList)
self.dcmList = RD.dcmReadAll()
self.CTList = RD.readCTdcm(self.dcmList)
dsCT1 = dicom.read_file(self.CTList[0])
self.x, self.y, self.z, self.dx, self.dy, self.dz, self.ConstPixelDims, self.ConstdoseDims, self.ConstdoseDimsalt, self.ConstPixelSpacing, self.ConstDoseSpacing = MH.GetCoordi(self.CTList)
self.ArrayCT = numpy.zeros(self.ConstPixelDims, float)
self.ArrayCT = MH.GetCTImg(self.CTList, self.ArrayCT)
self.CTSlider.setMinimum(0)
self.CTSlider.setMaximum(len(self.CTList)-1)
def st_clicked(self):
print('st clicked')
def valchange(self):
self.vals = self.CTSlider.value()
self.Temparray = self.ArrayCT[:,:,self.vals]
self.imgsh = qimage2ndarray.gray2qimage(self.Temparray)
self.pixemap = QPixmap.fromImage(self.imgsh)
if __name__ == "__main__":
app = QApplication(sys.argv)
myWindow = Mainwindow()
myWindow.show()
app.exec_()
您是否尝试过创建QGraphicsPixmapItem并将其添加到图形场景中?我只是自己解决了这个问题。问题是我正在绘制一个新的QGraphicsView,而不是我已经创建的QGraphicsView。不过谢谢大家。