도와주세요!!
프로그램 초보입니다.
Qt로 연습을 하고 있는데 paintEvent 관련해서 이해가 안가는 부분이 있어서요.
코드는 아래와 같습니다.
#include <QApplication>
#include <QWidget>
#include <QFont>
#include <QPushButton>
#include <QtDebug>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0);
void paintEvent ( QPaintEvent * event )
{
count ++;
qDebug()<<"MyWidget's paint event!!(count:"<<count<<")";
}
private:
QPushButton *quit;
int count;
};
MyWidget::MyWidget(QWidget *parent) : count(0),QWidget(parent)
{
setFixedSize(200,200);
quit = new QPushButton(tr("Quit"), this);
quit->setGeometry(62,40,75,30);
quit->setFont(QFont("Times", 18, QFont::Bold));
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}
int main (int argc, char **argv)
{
QApplication app(argc, argv);
MyWidget widget;
widget.show();
return app.exec();
}
이 코드를 실행을 시켜보면 조그만 윈도우에 Quit 버튼이 하나 보이는데 마우스를 Quit 버튼 영역으로 들어갔다 나왔다를 하면 그때마다 paintEvent의 Count가 하나씩 증가됨을 알 수 있습니다. paintEvent는 MyWidget에서 호출이 되고 있는데 왜 Quit 버튼위로 마우스를 이동시 호출이 되면서 count가 하나씩 증가되는지 이해가 안갑니다.
고수님들의 설명 부탁합니다.