如何显示QGraphicsScene?

时间:2010-03-20 19:45:06

标签: python qt pyqt

我有以下代码,我不知道如何将QGraphicsScene添加到我的布局中..

class MainForm(QDialog):
    def __init__(self, parent=None):
        super(MainForm, self).__init__(parent)
        self.scene = QGraphicsScene(self)
        self.scene.setSceneRect(0, 0, 500, 500)
        self.view = QGraphicsView()
        self.view.setRenderHint(QPainter.Antialiasing)
        self.view.setScene(self.scene)
        self.view.setFocusPolicy(Qt.NoFocus)
        zoomSlider = QSlider(Qt.Horizontal)
        zoomSlider.setRange(5, 200)
        zoomSlider.setValue(100)
        self.pauseButton = QPushButton("Pause")
        quitButton = QPushButton("Quit")

        layout = QVBoxLayout()
        layout.addWidget(zoomSlider)

        self.setLayout(layout)
        self.startTimer(10)

如何让我的QGraphicsScene运行?我是Qt的新手。我甚至应该在布局/

中添加QGraphicsScene

2 个答案:

答案 0 :(得分:2)

你必须做这样的事情:

...
layout = QVBoxLayout()
layout.addWidget(zoomSlider)
layout.addWidget(view)
self.setLayout(layout)
...

答案 1 :(得分:0)

您已添加了要查看的场景,这已经足够了。但是您应该将视图添加到MainForm和Layout。 View是一种可以由应用程序显示的窗口小部件,而场景不是窗口小部件,无法添加到布局中,它是视图的一个组件。此外,您可能需要向场景添加一些图形项(例如矩形,图像)并查看其工作原理。