QPaint ничего не рисуя - PullRequest
       12

QPaint ничего не рисуя

1 голос
/ 05 марта 2012

У меня самая простая из программ 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 Ответ

3 голосов
/ 05 марта 2012

вам нужно рисовать в paintEvent.

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

...