QT c ++绘制点qpainter qgraphicscene

时间:2010-09-02 22:46:52

标签: c++ qt point qpainter

Hell-o all,我是qt的新手,我在绘制一个单点时遇到了麻烦。

我有一个很大的qMainWindow,最终调用了一个QgraphicsScene,在其中我需要绘制一个点,一个小像素,这就是我想要的,我想使用QPainter但我无法实例化一个。任何想法??

1 个答案:

答案 0 :(得分:3)

您尝试做的示例代码将在这里提供帮助。

QPainter使用: 构造指向画布对象的QPainter对象,然后调用painter_obj.drawPoint(x,y);。请注意,需要在堆栈上创建QPainter,而不是堆,因此对象的析构函数可以启动实际绘图。

文档中的示例:

void SimpleExampleWidget::paintEvent(QPaintEvent *)
 {
     QPainter painter(this);
     painter.setPen(Qt::blue);
     painter.setFont(QFont("Arial", 30));
     painter.drawText(rect(), Qt::AlignCenter, "Qt");
 }

QGraphicsScene使用: 通常,您使用QGraphicsScene来管理同时在视图中浮动的大量对象。这对于简单的绘图小部件来说太过分了。 QGraphicsScene不是,iirc,是QPainter绘画的有效画布。

相反,您可以创建相应类型的QGraphicsItem(或子类),并覆盖paint方法。将QGrpahicsItem添加到场景中时,库将传递一个QPainter对象,以便在适当时用于处理绘图。