Qt4 从QAbstractScrollArea派生的类中的QT QPainter错误

Qt4 从QAbstractScrollArea派生的类中的QT QPainter错误,qt4,Qt4,我试着写一个小的十六进制编辑器。为此,我想创建一个小部件,显示十六进制数据并按行滚动。为此,我从QAbstractScrollArea派生并覆盖paintEvent()开始进行实验,如下所示: void CuteHexeEditorWidget::paintEvent(QPaintEvent *event) { QPainter painter(this); QPoint position(50,50); QString text("00 11 22"); pai

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

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

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

必须在视口中创建QPaint:

QPainter painter(viewport());