Как добавить 2D-график / 3D-график (изображение) в ячейку в каждой сетке в Pyqt 4 - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть немного знаний в Pyqt 4. Здесь мне нужно добавить график / график изображения каждой ячейки сетки, я добавил изображение графика с этим вопросом для справки.

enter image description here

Вот мой код:

    def scanItem(self):


        self.d = QtGui.QDialog()
        self.form = QtGui.QFormLayout(self.d)

        self.collbl = QtGui.QLabel("Columns:")
        self.rowlbl = QtGui.QLabel("Rows:")
        self.colspin = QtGui.QSpinBox()
        self.colspin.setMinimum(1)
        self.colspin.setValue(10)
        self.rowspin = QtGui.QSpinBox()
        self.rowspin.setMinimum(1)
        self.rowspin.setValue(7)



        self.insertbtn = QtGui.QPushButton("Insert")
        self.insertbtn.clicked.connect(self.insert)

        self.canclebtn = QtGui.QPushButton("Cancel")
        self.canclebtn.clicked.connect(self.d.close)

        self.form.addRow(self.collbl, self.colspin)
        self.form.addRow(self.rowlbl, self.rowspin)
        self.form.addRow( self.canclebtn,self.insertbtn)

        self.d.setWindowTitle("Enter Grids")
        self.d.setGeometry(350,200,300,100)
        self.d.setWindowModality(QtCore.Qt.ApplicationModal)
        self.d.exec_()

    def insert(self):
        global X,Y
        X = self.colspin.value()
        print X

        Y = self.rowspin.value()
        print Y
        self.d.close()
        print "Inserted col = {}, row = {}".format(X,Y)

        self.a = QS(self)
        self.b = QV(self)
        self.b.setScene(self.a)
        self.scrollArea.setWidget(self.b)

class QS(QtGui.QGraphicsScene):

    def __init__(self, *args, **kwargs):
        super(QS, self).__init__(*args, **kwargs)

        print "Inserted in QS col = {}, row = {}".format(X,Y)

        width = X * Setting.WIDTH
        height = Y * Setting.HEIGHT
        self.setSceneRect(0, 0, width, height)
        self.setItemIndexMethod(QtGui.QGraphicsScene.NoIndex)

        for x in range(0,X+1):
            xc = x * Setting.WIDTH
            self.addLine(xc,0,xc,height)

        for y in range(0,Y+1):
            yc = y * Setting.HEIGHT
            self.addLine(0,yc,width,yc)


class QV(QtGui.QGraphicsView, QtGui.QMainWindow):

    def __init__(self, *args, **kwargs):
        super(QV, self).__init__(*args, **kwargs)
...