2012-08-17 66 views
0

我嘗試編寫一個小的十六進制編輯器。爲此,我想創建一個顯示十六進制數據的小部件,並按行滾動。爲此,我開始從QAbstractScrollArea派生並重寫的paintEvent()這樣的實驗:QT QPainter從QAbstractScrollArea派生的類錯誤

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

的代碼被調用,但在控制檯中我看到以下消息:QPainter的::開始:噴漆設備返回的發動機= = 0.我做錯了什麼?

回答

0

的QPainter的,必須在視口中創建:

QPainter painter(viewport());