我试图写代码,改变一些图像时,滚动移动。我用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_()
目前没有回答
相关问题 更多 >
编程相关推荐