0

我尝试编写一个小的十六进制编辑器。为此,我想创建一个显示十六进制数据并按行滚动的小部件。为此,我开始通过从 QAbstractScrollArea 派生并覆盖 paintEvent() 来进行实验,如下所示:

void CuteHexeEditorWidget::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    QPoint position(50,50);
    QString text("00 11 22");
    painter.drawText(position, text);
}

代码被调用,但在控制台中我看到以下消息: QPainter::begin: Paint device returned engine == 0. 我做错了什么?

4

1 回答 1

0

必须在视口上创建 QPainter:

QPainter painter(viewport());
于 2012-08-18T16:27:38.560 回答