c++ - 我无法在qt中画一条简单的线

标签 c++ qt qpainter

我正在尝试使用对话框绘制一条简单的线,但是当我编译代码时没有任何反应,我的对话框什么也没有,请任何人可以解释一下发生了什么? 下面是我的代码:

#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);
}     

不知道哪里出了问题

最佳答案

这一行是错误的:

void Dialog::paintEvent(QPainter *)

它有错误的参数签名,所以它没有被调用。它应该是:

void Dialog::paintEvent(QPaintEvent *)

关于c++ - 我无法在qt中画一条简单的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33662711/

相关文章:

c++ - 更新 QSqlTableModel 中的记录

c++ - `paint` 方法是 't called after ` QGraphicsView` 滚动

python - 如何使用QPainter高效绘制图像?

c++ 到 vb.net,情侣对话问题

c++ - 如何检查窗口中行的长度或宽度是否大于其父窗口的宽度 C++

c++ - 在 VBA 中声明变量注册表?

c++ - QVector 到复数

qt - Qt 是否具有基于 "XAML-like"标记的 GUI 创建?

c++ - boost::shared_ptr 循环依赖

c++ - 如何将图像加载到 painter.drawimage 函数