Hell-o all,我是qt的新手,我在绘制一个单点时遇到了麻烦。
我有一个很大的qMainWindow,最终调用了一个QgraphicsScene,在其中我需要绘制一个点,一个小像素,这就是我想要的,我想使用QPainter但我无法实例化一个。任何想法??
答案 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对象,以便在适当时用于处理绘图。