Я делал так:
ldialog.h
#ifndef LDIALOG_H
#define LDIALOG_H
#include <QDialog>
#include <QPainter>
namespace Ui {
class ldialog;
}
class ldialog : public QDialog
{
Q_OBJECT
public:
explicit ldialog(QWidget *parent = 0);
~ldialog();
public slots:
void onClick();
void MyDrawEllipse();
private:
Ui::ldialog *ui;
};
#endif // LDIALOG_H
ldialog.cpp
#include "ldialog.h"
#include "ui_ldialog.h"
ldialog::ldialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::ldialog)
{
ui->setupUi(this);
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(onClick()));
}
ldialog::~ldialog()
{
delete ui;
}
void ldialog::MyDrawEllipse()
{
QPainter Ellipse1(ui->label);
Ellipse1.setBrush(QBrush(Qt::black));
Ellipse1.drawEllipse(10, 10, 600, 600);
}
void ldialog::onClick()
{
ui->label->update();
}
main.cpp
#include <QtGui/QApplication>
#include "ldialog.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
ldialog w;
w.show();
return a.exec();
}
Но после нажатию на кнопку эллипс не рисуется. Что я сделал не так?