小编Ash*_*Ash的帖子

Qt初学者QPainter和QRect

我该如何绘制矩形?

我试过两种不同的方式;

void MyWidget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    painter.setRenderHint(QPainter::Antialiasing);
    painter.setPen(Qt::black);
    QRect rect = QRect(290, 20, 70, 40);
    painter.drawText(rect, Qt::AlignCenter,
                      "Data");
    painter.drawRect(rect);
}
Run Code Online (Sandbox Code Playgroud)

哪个工作正常(即使参数未命名也未使用),但我不想使用QPaintEvent*我没用它.

所以我尝试重命名我的功能;

void MyWidget::draw()
{
    QPainter painter(this);
    painter.setRenderHint(QPainter::Antialiasing);
    painter.setPen(Qt::black);
    QRect rect = QRect(290, 20, 70, 40);
    painter.drawText(rect, Qt::AlignCenter,
                      "Data");
    painter.drawRect(rect);
}
Run Code Online (Sandbox Code Playgroud)

这不会显示任何内容(但没有错误).

如果我不使用QPaintEvent*,为什么它不起作用?

qt qpainter qrect

9
推荐指数
1
解决办法
4万
查看次数

标签 统计

qpainter ×1

qrect ×1

qt ×1