
1Àå¿¡¼ ¸¸µé¾ú´ø À©µµ¿ì¿¡´Ù ÀÌÁ¦ ¹öưÀ» ´©¸£¸é ¾ÖÇø®ÄÉÀ̼ÇÀÌ Á¾·áµÇµµ·Ï ¸¸µé¾î º¸µµ·Ï ÇÏÀÚ.
µðÆúÆ® ÆùÆ®¿ÜÀÇ Á» ´õ Èï¹ÌÁøÁøÇÑ ÆùÆ®¸¦ »ç¿ëÇÒ °ÍÀÌ´Ù.
/****************************************************************
**
** Qt tutorial 2
**
****************************************************************/
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton quit( "Quit" );
quit.resize( 75, 30 );
quit.setFont (QFont( "Times", 18, QFont::Bold ) );
QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
a.setMainWidget( &quit );
quit.show();
return a.exec();
}
#include <qfont.h>
ÀÌ ÇÁ·Î±×·¥¿¡¼´Â QFont¸¦ »ç¿ëÇϱ⿡ qfont.h¸¦ includeÇÒ Çʿ䰡 ÀÖ´Ù.
QPushButton quit( "Quit" );
ÀÌ ºÎºÐ¿¡¼ ¹öưÀº "Quit"À̶ó°í Ç¥½Ã°¡ µÇ°í »ç¿ëÀÚ°¡ ±× ¹öưÀ» ´·¶À»¶§ ¾î¶² ÇൿÀ» ÇÏ°Ô µÉ °ÍÀÌ´Ù. Áö±ÝÀº ¾Æ¹«°Íµµ µÇÁö´Â ¾ÊÁö¸¸...
quit.resize( 75, 30 );
¿ì¸®´Â ¶Ç ´Ù¸¥ »çÀÌÁ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. "Hello World!"º¸´Ù´Â ´õ Å©±â°¡ ´õ Àû±â¿¡ Á» ´õ ÀûÀº »çÀÌÁ ¼±ÅÃÇØ¾ß¸¸ ÇÒ °ÍÀÌ´Ù. ¶ÇÇÑ QPushButton::setAutoResize()¸¦ »ç¿ëÇÒ ¼ö ÀÖ°í ¶Ç´Â QFontMetrics¿¡¼ ÀûÀýÇÑ »çÀÌÁ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
quit.setFont( QFont( "Times", 18, QFont::Bold ) );
¿©±â¿¡¼ ¿ì¸®´Â Å©±â 18ÀÇ ±½Àº Timesü¸¦ »õ·Î ¼±ÅÃÇß´Ù.
¶ÇÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ÀüüÀÇ ±âº» ÆùÆ®¿¡ ´ëÇØ¼µµ ¹Ù²Ü ¼ö ÀÖ´Ù.
QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
connect()´Â ¾Æ¸¶µµ QtÀÇ ÇüÅ¿¡¼ °¡Àå Áß¿äÇÑ °ÍÀÌ´Ù. connect()´Â QObject³»¿¡¼ static functionÀÓÀ» ÁÖÀÇÇØ¶ó. socket libraryÀÇ connect() function°ú È¥µ¿µÇÁö ¾Êµµ·Ï ÁÖÀÇÇÏ±æ ¹Ù¶õ´Ù.
ÀÌ ¶óÀÎÀº µÎ Qt °´Ã¼(QObject·Î ºÎÅÍ Á÷Á¢ÀûÀÌµç °£Á¢ÀûÀÌµç »ó¼ÓÀ» ¹ÞÀº °´Ã¼µé)µé »çÀÌ¿¡ ÀϹæÇâ ¿¬°áÀ» ¼³Á¤ÇÑ´Ù. ¸ðµç Qt °´Ã¼´Â signals(¸Þ½ÃÁö¸¦ º¸³»´Â)°ú slots(¸Þ½ÃÁö¸¦ ¹Þ´Â)À» °¡Áú ¼ö ÀÖ´Ù.
¸ðµç widgetµéÀº Qt °´Ã¼µéÀÌ´Ù. ±×µéÀº QWidgetÀ» »ó¼ÓÇϱ⿡ QObject¿¡¼ »ó¼ÓµÈ °ÍÀÌ´Ù.
¿©±â¿¡¼ quitÀÇ clicked() signalÀº quitÀÇ ÇÑ slot°ú ¿¬°áµÈ´Ù. Áï ¹öưÀÌ ´·¯Áö¸é ¾ÖÇø®ÄÉÀ̼ÇÀº Á¾·áµÈ´Ù.
Signal°ú Slot ¹®¼´Â ¼¼ºÎÀûÀÎ ÁÖÁ¦µéÀ» Àß ¼³¸íÇϰí ÀÖ´Ù.
ÀÚ ÀÌÁ¦ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ º¸ÀÚ. ¿©·¯ºÐÀº 1Àå¿¡¼ º¸¾Ò´ø °Í°ú ºñ½ÁÇÑ Á» ´õ
ÀÛÀº ¹öưÀ¸·Î ä¿öÁø ºñ½ÁÇÑ À©µµ¿ì¸¦ º¼ °ÍÀÌ´Ù.
¿ªÀÚÁÖ: ÄÄÆÄÀϰú ¸µÅ© °úÁ¤Àº 1Àå¿¡ ¼³¸íÇØ ³õ¾Ò´Ù. Âü°íÇÏ±æ ¹Ù¶õ´Ù.
À©µµ¿ì Å©±â¸¦ º¯°æ½ÃÄÑ º¸¶ó. ¹öưÀ» ´·¯ºÁ¶ó. ÀÌ·Ð! connect()´Â ¾à°£ ´Ù¸£°Ô º¸ÀÌ°Ô µÈ´Ù. :)
QPushButton¿¡ ¾î¶² ¶Ç ´Ù¸¥ signalÀ» quit¿¡ ¿¬°á ½Ãų ¼ö Àִ°¡? Hint: QPushButtonÀº QButtonÀ¸·ÎºÎÅÍ ´ëºÎºÐÀÇ ÇൿÀ» »ó¼Ó¹Þ¾Ò´Ù.
ÀÌÁ¦ ¿©·¯ºÐÀº 3ÀåÀ¸·Î °¡µµ µÈ´Ù.