QPainter没有画任何东西

时间:2012-03-04 21:25:32

标签: c++ qt qpainter

我有最基本的Qt程序 - 主窗口。我希望能够使用QPainter绘制一些线条 - 仅仅是线条(我正在尝试绘制直方图)。无论如何,我已经阅读了代码示例,但由于某种原因,我的代码无效。

我有一个 mainwindow.ui ,它会创建一个名为 MainWindow 的类,我没有显示它 - 它只是一个带有<的 QMainWindow 强> QWidget 就可以了,但我隐藏了 QWidget ,因为我现在还没有使用它。 main.cc 也未显示,因为它是小型项目的标准 main.cc 。其余代码是:

mainwindow.cc

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QWidget>
#include <QPainter>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent)
{
    setupUi(this);
    drawingArea->hide();

    QPainter painter(this);
    painter.begin(this);
    QColor color (100, 100, 100);
    painter.setBrush(color);
    painter.drawLine(0,0,10,10);
}

MainWindow::~MainWindow()
{
}

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "ui_mainwindow.h"

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow, private Ui::MainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
};

#endif // MAINWINDOW_H

1 个答案:

答案 0 :(得分:3)

你需要在paintEvent中进行绘画。

请参阅:http://doc.trolltech.com/4.6/widgets-analogclock.html