1

我有最基本的 Qt 程序——一个主窗口。我希望能够使用 QPainter 来绘制一些线条——实际上只不过是线条(我正在尝试绘制直方图)。无论如何,我已经阅读了代码示例,但由于某种原因,我的代码无法正常工作。

我有一个mainwindow.ui,它创建了一个名为MainWindow的类,我没有显示它——它只是一个QMainWindow ,上面有一个QWidget,但我隐藏了QWidget,因为我现在没有使用它。main.cc也没有显示,因为它是小型项目的标准main.cc。其余的代码是:

主窗口.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()
{
}

主窗口.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
4

1 回答 1

3

您需要在paintEvent 中进行绘画。

见:http ://doc.trolltech.com/4.6/widgets-analogclock.html

于 2012-03-04T21:29:05.820 回答