4
所以我設法讓我的屏幕上繪製像這樣的圖:如何動畫我在PyQt中繪製的圖形?
class Window(QWidget):
#stuff
graphicsView = QGraphicsView(self)
scene = QGraphicsScene(self)
#draw our nodes and edges.
for i in range(0, len(MAIN_WORLD.currentMax.tour) - 1):
node = QGraphicsRectItem(MAIN_WORLD.currentMax.tour[i][0]/3, MAIN_WORLD.currentMax.tour[i][1]/3, 5, 5)
edge = QGraphicsLineItem(MAIN_WORLD.currentMax.tour[i][0]/3, MAIN_WORLD.currentMax.tour[i][1]/3,
MAIN_WORLD.currentMax.tour[i+1][0]/3, MAIN_WORLD.currentMax.tour[i+1][1]/3)
scene.addItem(node)
scene.addItem(edge)
#now go back and draw our connecting edge. Connects end to home node.
connectingEdge = QGraphicsLineItem(MAIN_WORLD.currentMax.tour[0][0]/3, MAIN_WORLD.currentMax.tour[0][1]/3,
MAIN_WORLD.currentMax.tour[len(MAIN_WORLD.currentMax.tour) - 1][0]/3, MAIN_WORLD.currentMax.tour[len(MAIN_WORLD.currentMax.tour) - 1][1]/3)
scene.addItem(connectingEdge)
graphicsView.setScene(scene)
hbox = QVBoxLayout(self)
#some more stuff..
hbox.addWidget(graphicsView)
self.setLayout(hbox)
現在,邊緣會被不斷更新,所以我希望能夠去除這些邊和他們重繪。我怎樣才能做到這一點?
你想能夠上的更新更新移動節點單或重新繪製整個圖形? – 2010-02-03 13:21:00
這聽起來像是他想要在整個更新上重繪整個圖表給我。也對這個問題的答案感興趣。 – Chris 2010-02-03 14:31:38