Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将Pixmap绘制到Qgraphicsview?_Python_Numpy_Pyqt_Qgraphicsview_Qpixmap - Fatal编程技术网

Python 如何将Pixmap绘制到Qgraphicsview?

Python 如何将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

我正在尝试编写代码,在滚动移动时更改一些图像。我使用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 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。不过谢谢大家。