QT:繪圖

使用QGrahicsView繪圖

1. 繪製矩形

這裏面有一個問題一定要注意,在view實際顯示之前,返回的view大小爲默認大小,100 * 30,與設置的viewsize不相符,所以需要再showEvent中得到正確的size,這裏的showEventview所在窗口的showEvent();

void MainWindow::showEvent(QShowEvent *event)
{
    QGraphicsScene*scene = new QGraphicsScene();
    QGraphicsRectItem * rectItem =new QGraphicsRectItem(QRect(0,0,100,100));
    QGraphicsView * view = ui->graphicsView;
    scene->setSceneRect(0,0,view->width(), view->height());
    scene->addItem(rectItem);
    view->setScene(scene);
    this->show();
}

設置畫筆:

 QPen pen = rectItem->pen();
 pen.setColor(QColor(0, 255, 0)); //設置畫筆顏色
 pen.setWidth(5); //設置畫筆寬度
 rectItem->setPen(pen);
 scene->addItem(rectItem);
 view->setScene(scene);

2. 繪製圓形

 QGraphicsEllipseItem * ellipseItem = new QGraphicsEllipseItem(2, 2, 4,4);
 scene->addItem(ellipseItem);
 view->setScene(scene);
 this->show();

3. 繪製文字

    QString text = QString::number(id, 10);
    text.append(":").append("ok");
    textItem = new QGraphicsTextItem(text);
    textItem->setPos(0,0);
    textItem->setDefaultTextColor(QColor(0, 255, 0));

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章