#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog {
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
~Dialog();
protected:
void changeEvent(QEvent *e);
void paintEvent(QPaintEvent *);
private:
void paint(QPainter *painter);
Ui::Dialog *ui;
int i;
float j;
QPixmap pixmap;
private slots:
void on_pushButton_clicked();
void timerUpDate();
};
#endif // DIALOG_H
#include "dialog.h"
#include "ui_dialog.h"
#include <QPainter>
#include <QtCore>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
i=100;
j=100;
pixmap = QPixmap(size());
pixmap.fill(this, 0, 0);
QTimer *timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(timerUpDate()));
timer->start(1000);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::changeEvent(QEvent *e)
{
QDialog::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void Dialog::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.drawPixmap(0, 0, pixmap);
}
void Dialog::timerUpDate()
{
i=i++;
QPainter painter(&pixmap);
painter.initFrom(this);
painter.setPen(Qt::red);
painter.drawPoint(i,j);
update();
}
void Dialog::on_pushButton_clicked()
{
j=ui->lineEdit->text().toFloat();
}