1

Qt プログラムの中で最も基本的なもの、つまりメイン ウィンドウがあります。QPainter を使用していくつかの線を描画できるようにしたいのですが、実際には線にすぎません (ヒストグラムをプロットしようとしています)。とにかく、コード例を読みましたが、何らかの理由でコードが機能しません。

私は示していない MainWindow というクラスを作成するmainwindow.ui持っています - それはQWidgetを持つQMainWindowですが、今は使用していないので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 に答える