
ÀÌ Ã¹¹øÂ° ÇÁ·Î±×·¥Àº ´Ü¼øÇÏ°Ô hello-world ¿¹Á¦ ÇÁ·Î±×·¥ÀÌ´Ù. Qt ÇÁ·Î±×·¥À» ½ÃÀÛÇÏ°í ½ÇÇà ½Ã۴µ¥ ÇÊ¿äÇÑ ÃÖ¼ÒÇÑÀÇ
°Íµé¸¸ Æ÷ÇÔÇϰí ÀÖ´Ù. À§ÀÇ ±×¸²Àº ÀÌ ÇÁ·Î±×·¥ÀÇ ½º³À¼¦ÀÌ´Ù.
¿ªÀÚ ÁÖ: ¿ª½Ã C++À̶ó ´ë¼Ò¹®ÀÚ ±¸ºÐÇÕ´Ï´Ù. ÁÖÀÇÇϼ¼¿ä. ¶ÇÇÑ ÀúÀåÀº ÆÄÀϸí.cppÀÔ´Ï´Ù.
/****************************************************************
**
** Qt tutorial 1
**
****************************************************************/
#include <qapplication.h>
#include <qpushbutton.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton hello( "Hello world!" );
hello.resize( 100, 30 );
a.setMainWidget( &hello );
hello.show();
return a.exec();
}
#include <qapplication.h>
ÀÌ ¶óÀÎÀº QApplication Ŭ·¡½ºÀÇ Á¤ÀǸ¦ Æ÷ÇÔÇÑ´Ù. Qt¸¦ »ç¿ëÇÏ´Â ¸ðµç ¾ÖÇø®ÄÉÀ̼ǿ¡´Â Á¤È®ÇÏ°Ô ÇѰ³ÀÇ QApplication °´Ã¼°¡ ÀÖ¾î¾ß ÇÑ´Ù. QApplicationÀº default font¿Í cursor °°Àº ´Ù¾çÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ¸®¼Ò½ºµéÀ» °ü¸®ÇÑ´Ù.
#include <qpushbutton.h>
ÀÌ ¶óÀÎÀº QPushButton Ŭ·¡½ºÀÇ Á¤ÀǸ¦ Æ÷ÇÔÇÑ´Ù.
QPushButtonÀº »ç¿ëÀÚ°¡ ´·¶´Ù ¶Ã´ÙÇÏ´Â ÀüÇüÀûÀÎ GUI ´©¸§ ¹öưÀÌ´Ù. ±×°ÍÀº ¸ðµç ´Ù¸¥ widgetµéó·³ ÀڽŸ¸ÀÇ look and feelÀ» °ü¸®ÇÑ´Ù. widgetÀº »ç¿ëÀÚ ÀÔ·ÂÀ» ó¸®ÇÒ ¼ö ÀÖ°í, ±×¸®°í ±×·¡ÇÈÀ» ±×¸± ¼ö ÀÖ´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º °´Ã¼ÀÌ´Ù. ÇÁ·Î±×·¡¸Ó´Â look and feel°ú color¿Í °°Àº ¸¹Àº ÀÛÀº ¼Ó¼ºµéÀ» ¸ðµÎ º¯°æ½Ãų ¼ö ÀÖ´Ù. ¹°·Ð widgetÀÇ ³»¿ëµµ Æ÷ÇÔÇØ¼ ¸»ÀÌ´Ù. QPushButtonÀº ÅØ½ºÆ® ¶Ç´Â pixmapÀ¸·Î º¸¿©Áú ¼ö ÀÖ´Ù.
int main( int argc, char **argv )
{
main() ÇÔ¼ö´Â ÇÁ·Î±×·¥ÀÇ ½ÃÀۺκÐÀÌ´Ù.
argc´Â command-line ÀÎÀÚ¼öÀ̰í, argv´Â command-line ÀÎÀÚÀÇ ¹è¿ÀÌ´Ù. À̰ÍÀº C/C++ ÇüÅÂÀÌ´Ù.
À̰ÍÀº QtÀÇ Æ¯º°ÇÑ °ÍÀº ¾Æ´ÏÁö¸¸, Qt´Â ÀÌ·¯ÇÑ ÀÎÀÚµéÀ» ÇÊ¿ä·Î ÇÑ´Ù.
QApplication a( argc, argv );
a ´Â ÀÌ ÇÁ·Î±×·¥ÀÇ QApplicationÀÌ´Ù. ¿©±â¿¡¼ QApplicationÀº »ý¼ºµÇ°í command-line ÀÎÀÚ(Áï, X11ÇÏÀÇ -display
¿Í °°Àº)µéÀ» ó¸®ÇÑ´Ù.
ÁÖÀÇ: QtÀÇ ¾î¶°ÇÑ window-system ºÎºÐÀÌ »ç¿ëµÇ±â Àü¿¡ QApplication °´Ã¼°¡ »ý¼ºµÇ¾î¾ß¸¸ ÇÑ´Ù.
QPushButton hello( "Hello world!" );
QApplicationÈÄ¿¡, óÀ½ÀÇ window-system code°¡ ¿Â´Ù. push button Çϳª¸¦ »ý¼ºÇÑ´Ù.
ÀÌ ¹öưÀº "Hello world!"¶ó´Â ÅØ½ºÆ®¸¦ º¸¿©ÁØ´Ù.
hello.resize( 100, 30 );
¹öưÀÇ Å©±â¸¦ window system frame¿¡¼ 100 pixel Æø°ú 30 pixel ³ôÀÌ·Î ¼ÂÆÃÇÑ´Ù. ¿©±â¼´Â ¹öưÀÇ À§Ä¡¸¦ °í·ÁÇÏÁö ¾Ê°í ±âº»°ªÀ¸·Î µÐ´Ù.
a.setMainWidget( &hello );
push buttonÀ» main widget¿¡ ºÙÀδÙ. »ç¿ëÀÚ°¡ main widgetÀ» ´ÝÀ¸¸é ¾ÖÇø®ÄÉÀ̼ÇÀº Á¾·áµÈ´Ù.
¹Ýµå½Ã main widgetÀ» °¡Áú ÇÊ¿ä´Â ¾øÁö¸¸ ´ë´Ù¼ö ÇÁ·Î±×·¥µéÀº »ç¿ëÇÑ´Ù.
hello.show();
WidgetÀº »ý¼ºÇϱ⸸ Çϸé Àý´ë º¸ÀÌÁö ¾Ê´Â´Ù. visibleÇÏ°Ô Çϱâ À§Çؼ´Â ¹Ýµå½Ã show() ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù.
return a.exec();
ÀÌ ºÎºÐÀÌ main()¿¡¼ Qt·Î Á¦¾î¸¦ ³Ñ±â´Â ºÎºÐÀÌ´Ù. exec()´Â ¾ÖÇø®ÄÉÀ̼ÇÀÌ
Á¾·áµÉ¶§ returnµÈ´Ù.
exec()¿¡¼ Qt´Â »ç¿ëÀÚ¿Í system event¸¦ ¹Þ°í ó¸®Çϰí ÀûÀýÇÑ widgetÀ» ³Ñ°ÜÁØ´Ù.
}
¹Ýµå½Ã ÀÌ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ°í ½ÇÇà½ÃŰ¼¼¿ä.
¿ªÀÚ ÁÖ : ÄÄÆÄÀÏ ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù.
ÄÄÆÄÀÏ : #g++ -c ÆÄÀϸí.cpp -I/usr/include -I/usr/X11R6/include -I/usr/include/qt
¸µÅ©°úÁ¤ : #g++ -o ½ÇÇàÆÄÀÏ¸í ÆÄÀϸí.o -L/usr/lib -L/usr/X11R6/lib -lqt -lX11 -lXext
ÀÌ·¯°í ³ª¸é ½ÇÇàÆÄÀÏÀÌ ¸¸µé¾î Áý´Ï´Ù.
ÇÁ·Î±×·¥À» ½ÇÇà½ÃŰ¸é °¡Àå À¯¸íÇÑ ´Ü¾îÀÎ Hello World!¶ó°í ÀûÇô ÀÖ´Â ´Ü¼øÇÑ ¹öưÀ¸·Î ²Ë ä¿öÁø ÀÛÀº À©µµ¿ì¸¦ º¼ ¼ö ÀÖÀ» °Ì´Ï´Ù.
¾ÖÇø®ÄÉÀÌ¼Ç À©µµ¿ìÀÇ Å©±â¸¦ Á¶ÀýÇØ º¸¼¼¿ä. ¹öưÀ» ´·¯ º¸¼¼¿ä. ¸¸ÀÎ X11À» »ç¿ëÇÑ´Ù¸é -geometry ¿É¼ÇÀ» °¡Áö°í ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ º¸¼¼¿ä.(e.g. -geometry 100x200+10+20)
ÀÌÁ¦ chapter two.À¸·Î °¡¼Åµµ µË´Ï´Ù.