2010-03-20 98 views
0

我有下面的代码,我不知道如何将QGraphicsScene添加到我的布局..如何显示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

你必须做这样的事情:

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

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