2010-07-21 86 views

回答

5

我創建了一種「框架」要做到這一點
感謝。有2種方法:

  1. 手柄鼠標消息,創建一個對象QGraphicsLineItem,添加到場景,並在創建過程中修改。
  2. 導出QGraphicsScene,創建一個QGraphicsLineItem但不添加到場景中,繪製drawForeground時,在完成創建後將其添加到場景中。

因爲QGraphicsScene會在默認情況下,BSP樹索引對象,並改變項目時頻繁,你可以創建過程中使用第二方法時獲得更高的性能會影響性能,但更多的代碼工作。

2

1)創建GraphicsView和場景

m_graphScen = new QGraphicsScene; 
m_graphScen->setSceneRect(0,0,790,290); 

m_graphView = new QGraphicsView; 
m_graphView->setFixedSize(800, 300); 
m_graphView->setScene(m_graphScen); 

2)創建這是做通過處理鼠標事件以下插槽:

m_graphScen->addLine(0, 250, 700, 250, QPen(QBrush(Qt::black),1)); 
m_graphView->show(); 

此外,如果你需要寫或畫文見here