2015-11-12 94 views
2

我正在嘗試使用對話框繪製一條簡單線條,但是當我編譯我的代碼時什麼也沒有發生,我沒有任何對話框,請任何機構能夠解釋我發生了什麼? 下面我的代碼:我不能在qt中繪製一條簡單的線

#include "dialog.h" 
#include "ui_dialog.h" 
#include <QPainter> 

Dialog::Dialog(QWidget *parent) : 
QDialog(parent), 
ui(new Ui::Dialog) 
{ 
    ui->setupUi(this); 
} 

Dialog::~Dialog() 
{ 
    delete ui; 
} 

void Dialog::paintEvent(QPainter *) 
{ 
    QPainter painter(this); 
    painter.drawLine(10,10,100,100); 
}  

我不知道什麼是錯

+1

如果您正在使用C++ 11,你應該使用'override'關鍵字,以防止此類錯誤。 –

回答

3

此行是錯誤的:

void Dialog::paintEvent(QPainter *) 

它有錯誤的參數簽名,所以它是沒有得到所謂的。它應該改爲:

void Dialog::paintEvent(QPaintEvent *) 
+0

比你我做到了,它的工作原理。 –