猿问

如何使用按钮将图像一张一张地添加到网格的每个单元格中

我想在网格中每个单元格的列中一一添加图像。在这里,我创建了一个按钮。当我点击一个按钮时,一个图像将被添加到网格的单元格中。当我单击按钮时,我想将图像添加到网格的另一个单元格中。此过程将一直持续到网格中的单元格末尾。我怎样才能用 pyqt4 做到这一点?我目前的尝试如下:


import sys

from PyQt4 import QtCore, QtGui



class Setting:

    WIDTH = 100

    HEIGHT = 100

X, Y = 5, 3



class QS(QtGui.QGraphicsScene):

    def __init__(self, parent=None):

        super(QS, self).__init__(QtCore.QRectF(0, 0, X * Setting.WIDTH, Y * Setting.HEIGHT), parent)


    def drawBackground(self, painter, rect):

        width = X * Setting.WIDTH

        height = Y * Setting.HEIGHT


        l = QtCore.QLineF(QtCore.QPointF(0, 0), QtCore.QPointF(width, 0))

        for _ in range(Y+1):

            painter.drawLine(l)

            l.translate(0, Setting.HEIGHT)


        l = QtCore.QLineF(QtCore.QPointF(0, 0), QtCore.QPointF(0, height))

        for _ in range(X+1):

            painter.drawLine(l)

            l.translate(Setting.WIDTH, 0)

        # pixmap = QtGui.QPixmap("image.png").scaled(Setting.WIDTH,Setting.HEIGHT,QtCore.Qt.IgnoreAspectRatio,QtCore.Qt.SmoothTransformation)

        #

        # p = QtCore.QPointF()

        # for i in range(X):

        #     p = QtCore.QPointF(Setting.WIDTH*i, 0)

        #     for j in range(Y):

        #         painter.drawPixmap(p, pixmap)

        #         p += QtCore.QPointF(0, Setting.HEIGHT)

        #



class QV(QtGui.QGraphicsView):

    pass



class Example(QtGui.QWidget):

    def __init__(self, parent=None):

        super(Example, self).__init__(parent)

        scene = QS(self)

        view = QV(scene)

        self.vbox=QtGui.QVBoxLayout()

        self.btn=QtGui.QPushButton("measure")

        # self.btn.clicked.connect(self.showimage)

        self.vbox.addWidget(self.btn)

        self.vbox.addWidget(view)



        self.setLayout(self.vbox)

        # self.setCentralWidget(view)




if __name__ == "__main__":

    app = QtGui.QApplication(sys.argv)

    w = Example()

    w.show()

    sys.exit(app.exec_())


ABOUTYOU
浏览 218回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答