윈도즈에서 WM_PAINT 에 해당하는 paintEvent 에 대해 알아 보겠습니다.

프로그램 소스, main.cpp

#include <qapplication.h>
#include <qwidget.h>
#include <qstring.h>
#include <qpainter.h>

#define kor(str) QString::fromLocal8Bit(str)

class TForm:public QWidget
{
public:
  TForm();
  void paintEvent( QPaintEvent*);
};

TForm::TForm()
{
  setCaption("paintEvent");
}

void TForm::paintEvent(QPaintEvent *)
{
  QPainter canvas(this);

  canvas.drawText( 20, 20, kor( "화면 출력"));
  canvas.drawRect( 5, 5, 100, 20);
}

int main(int argc, char **argv)
{
  QApplication app(argc, argv);
  TForm frm;

  app.setMainWidget( &frm);
  frm.resize( 300, 100);
  frm.show();

  return app.exec();
}

QPainter 객체

QPainter 객체를 이용하시면 너무 편하게 선을 긋거나 도형을 그릴 수 있으며, 예제에서 처럼 글을 출력할 수 있습니다.

아래는 출력 결과입니다.


 

 

태그: *QT *그래픽