在我的Qt项目中使用虚线点绘制圆

在我的Qt项目中使用虚线点绘制圆,qt,draw,geometry,Qt,Draw,Geometry,要用虚线点画圆,我应该包括什么?我应该使用什么代码?我在我的项目中尝试此代码无效: QPainter painter(this); painter.setBackgroundColor(Qt::cyan); painter.setBrush(Qt::yellow); painter.drawEllipse(0,0,500,500); 我只看到我的正常项目工作,而不是圆形或区域。请帮忙,我在哪里写代码?在main.cpp或myproject.cpp中?非常感谢。您应该在Q

要用虚线点画圆,我应该包括什么?我应该使用什么代码?我在我的项目中尝试此代码无效:

QPainter painter(this);
    painter.setBackgroundColor(Qt::cyan);
    painter.setBrush(Qt::yellow);
    painter.drawEllipse(0,0,500,500);

我只看到我的正常项目工作,而不是圆形或区域。请帮忙,我在哪里写代码?在main.cpp或myproject.cpp中?非常感谢。

您应该在QGraphicsItem的绘制事件或QWidget的绘制事件中编写代码。您还可以将Qt::DashDotLine用于画笔:

void myItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
    painter->setRenderHint(QPainter::Antialiasing,true);
    painter->setWindow( -500,-500,1000,1000);
    painter->setViewport( -500,-500,1000,1000);

    painter->setPen(QPen(Qt::black, 20, Qt::DashDotLine));

    painter->setBrush(Qt::yellow);
    painter->drawEllipse(-450, -450, 900, 900);
}