2015-11-12 42 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

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