大家好,我是qt的新手,我很难得出一个点。

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

最佳答案

您尝试执行的操作的示例代码在这里很有帮助。

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来同时管理围绕视图浮动的大量对象。对于一个简单的绘图小部件来说,这太过分了。 iirc,QGraphicsScene不是供QPainter绘制的有效画布。

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

关于c++ - QT C++绘制点qpainter qgraphicscene,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3631855/

10-13 02:40