Как отобразить QGraphicsScene? - PullRequest
0 голосов
/ 20 марта 2010

У меня есть следующий код, и я не уверен, как добавить 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 ]

2 голосов
/ 21 марта 2010

Вам нужно будет сделать что-то вроде этого:

...
layout = QVBoxLayout()
layout.addWidget(zoomSlider)
layout.addWidget(view)
self.setLayout(layout)
...
0 голосов
/ 21 марта 2010

Вы добавили сцену для просмотра, и этого достаточно. Но вы должны добавить представление в MainForm и Layout. Вид - это виджет, который может отображаться вашим приложением, в то время как сцена не является виджетом и не может быть добавлена ​​в макет, а является компонентом представления. Кроме того, вам может понадобиться добавить некоторые графические элементы (например, прямоугольник, изображение) в сцену и посмотреть, как это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...