¥È¥Ã¥×   º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× ¥ê¥í¡¼¥É   °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

¤Ä¤æ¤À¤¯

Last-modified: 2011-02-25 (¶â) 11:33:26 (4810d)
Top / ¤Ä¤æ¤À¤¯

¤Ä¤æ¤À¤¯ºîÀï

¤Ä¤æ¤À¤¯ºîÀ郎¼«Ê¬¤Î¤Ê¤«¤ÇÀ¹¤ê¾å¤¬¤ê¤ò¤ß¤»¤Æ¤¤¤ë¡ª¤¹¤°¤Ëµ¤»ý¤Á¤¬¤¯¤¸¤±¤ë¤Î¤Ç¡¢¤Ü¤Á¤Ü¤Á¤ä¤ê¤Þ¤¹¡£



»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤¤¤¿¤ê¤·¤¿¥Ú¡¼¥¸¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
²¬»³ÂçÆâÆ£¤µ¤ó¤Î¥Ú¡¼¥¸
¿À¸ÍÂç(¤¯¤¹¤â¤È¤µ¤ó¡©)¤ÎÊý¤Î¥Ú¡¼¥¸

ROOT¤ÇGUI

´ðËÜŪ¤Ê¤³¤È¤«¤é¥á¥â¡£

root¤Î¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ¥¹¥¿¥ó¥É¥¢¥í¡¼¥ó¤Ê¥×¥í¥°¥é¥à

C++¤Ç½ñ¤¤¤¿¤ä¤Ä¤ËROOT¤ÎGUI¤òÁȤ߹þ¤à¥¤¥á¡¼¥¸¡£
¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤ËROOT¤ÎCINT¤Ëºî¤ë¥¯¥é¥¹¤òÅÐÏ¿?¤¹¤ëɬÍפ¬¤¢¤ë¤ß¤¿¤¤¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥Ü¥¿¥ó²¡¤·¤¿¤éȯư¤¹¤ë¥¹¥í¥Ã¥ÈDaq¤µ¤ó¤¬

slot Daq() does not exist 

¤È¤«¤Ã¤ÆÅܤé¤ì¤ë¡£
¤ä¤ê¤«¤¿¤Ï¤¿¤È¤¨¤Ð¤³¤¦¡£MyMainFrame¤È¤¤¤¦GUIÍѤΥ¯¥é¥¹¤òºî¤Ã¤¿¤È¤­¤Ë¡¢test.cc¤Ètest.h¤È¤¤¤¦¤Î¤òÄêµÁ¤·¤¿¤È¤¹¤ë¡£¤³¤ó¤È¤­¤Ë¡¢¤¿¤È¤¨¤Ð

#pragma link C++ class MyMainFrame;

¤È½ñ¤¤¤¿Å¬Åö¤Ê¥Õ¥¡¥¤¥ë(Îã:test_LinkDef.h)¤òºîÀ®¤·¤Æ¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¤¦¤Ä¡£

rootcint -f test_dict.cc -c test.h test_LinkDef.h

¤½¤¦¤¹¤ë¤È¥Ç¥£¥¯¥·¥ç¥Ê¥êtest_dict.cc¤È¤¤¤¦¥½¡¼¥¹¥³¡¼¥É¤¬¼«Æ°À¸À®¤µ¤ì¤ë¤Î¤Ç¡¢¤³¤ì¤ò¤¤¤Ã¤·¤ç¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤ä¤ë¡£Îã¡£

g++ `root-config  ------(ά) ` -o test.o test.h test_dict.cc 

¤³¤ì¤Ç¤¤¤±¤¿¡£

ROOTGUI´Ø·¸¤Î¥¯¥é¥¹

¤ï¤±¤ï¤«¤á¡£¤¤¤ß¤È¤í¤í¡£

TGTextEntry

ʸ»úÎóÆþÎϤò¼õ¤±ÉÕ¤±¤ë¥Ü¥Ã¥¯¥¹¤òÀßÃÖ¤¹¤ë¡£

Àë¸ÀÎã¡£

TGTextEntry *te_pmt = new TGTextEntry(input_frame , "Sugoi PMT" );

input_frame¤¬ÀßÃÖ¤·¤¿¤¤¥Õ¥ì¡¼¥à¡£"Sugoi PMT"¤ÏºÇ½é¤Ëɽ¼¨¤·¤Æ¤ª¤¯Ê¸»úÎó¡£
¤¿¤È¤¨¤Ð¡¢¤³¤Îʸ»úÎó¤Î¾ì½ê¤òÄ´À°¤·¤¿¤¤¤È¤­¤Ï¡¢

te_pmt->SetAlignment(kTextRight);

¤Î¤è¤¦¤Ë¤¹¤ë¡£
¤³¤Î¤È¤­¤ËÆþÎϤ¹¤ë°ú¿ô¤ÏTGWidget::ETextJustification¤ÇÄêµÁ¤µ¤ì¤¿¤â¤Î¤Ç¡¢

kTextLeft     º¸Â·¤¨
kTextRight¡¡¡¡±¦Â·¤¨
kTextCenterX  Ãæ±û·¤¨
kTextTop      ¾åÊý¤Ë¥Æ¥­¥¹¥È¤òÇÛÃÖ
kTextBottom   ²¼Êý¤Ë¥Æ¥­¥¹¥È¤òÇÛÃÖ
kTextCenterY  Ãæ±û¤ËÇÛÃÖ

¤È¤¤¤¦¤è¤¦¤Ê´¶¤¸¡£

TGTextButton

¥Ü¥¿¥ó¤Î¤¿¤á¤Î¥¯¥é¥¹¡£

Àë¸ÀÎã

TGTextButton *daq = new TGTextButton(hframe,"&DAQ Start");

¤³¤ì¤Ï¡¢hframe¤È¤¤¤¦¥Õ¥ì¡¼¥à¤Î¾å¤Ë¥Ü¥¿¥ó¤òºî¤ë¤È¤¤¤¦°ÕÌ£¡£¤½¤Î¥Ü¥¿¥ó¤Ë¤Ï"DAQ Start"¤ÈÆþ¤Ã¤Æ¤¤¤ë¡£&¤Ï¥Û¥Ã¥È¥¹¥È¥ê¥ó¥°²½¤¹¤ë¤Ã¤Æ°ÕÌ£¤Ç¡¢¤³¤ì¤ò¤¹¤ì¤Ð¥Û¥Ã¥È¥­¡¼¤Ë¤Ê¤ë¡£

daq->Connect("Clicked()","MyMainFrame",this,"Daq()");

¤³¤ì¤Ç¥·¥°¥Ê¥ë¤ò¥¹¥í¥Ã¥È¤ËÀܳ¤¹¤ë¡£ ¤³¤ì¤Ï²¡¤µ¤ì¤¿¤È¤­¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë´Ø¿ô¤Ê¤É¤ò»ØÄꤷ¤Æ¤ä¤ë¤â¤Î¤Ç¡¢¤³¤Î¾ì¹ç¤¿¤È¤¨¤ÐDaq()¤ò¸Æ¤Ó½Ð¤¹¡£
¥Ü¥¿¥ó¤ÎÂ礭¤µ¤òÊѤ¨¤ë¤È¤­¤Ë¤Ï

daq->SetMargins(left margin , right , up , down );

¤ò»È¤¦¡£

TGLayoutHints

¥¦¥£¥¸¥§¥Ã¥È¤Î¥ì¥¤¥¢¥¦¥È¤Î¤¿¤á¤Ë¤è¤¯»È¤¦¥¯¥é¥¹¡£

TGLayoutHints( ¥ì¥¤¥¢¥¦¥È¥¿¥¤¥×, º¸Â¦¥¹¥Ú¡¼¥¹, ±¦Â¦¥¹¥Ú¡¼¥¹, ¾åÉô¥¹¥Ú¡¼¥¹, ²¼Éô¥¹¥Ú¡¼¥¹ )

¥ì¥¤¥¢¥¦¥È¥¿¥¤¥×¤Ï¤¤¤í¤¤¤íÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤«¤éÁª¤Ö¡£

kLHintsTop 	¾å·¤¨
kLHintsBottom 	²¼Â·¤¨
kLHintsLeft 	º¸Â·¤¨
kLHintsRight 	±¦Â·¤¨
kLHintsCenterX	Ãæ±û·¤¨(xÊý¸þ)
kLHintsCenterY	Ãæ±û·¤¨(yÊý¸þ)
kLHintsExpandX	x¼´Êý¸þ¤Ë¿­¤Ð¤¹
kLHintsExpandY	y¼´Êý¸þ¤Ë¿­¤Ð¤¹

Ê£¿ô¤Ä¤Ê¤²¤¿¤¤¤È¤­¤Ï¡Ö|¡×¤Ç¤Ä¤Ê¤°¡£¤¿¤È¤¨¤Ð¡¢

fMain->AddFrame(fEcanvas , new TGLayoutHints(kLHintsExpandX| kLHintsExpandY,10,10,10,1))

¤È¤«¤¤¤¦¤Õ¤¦¤Ë¥¦¥£¥¸¥§¥Ã¥È¤òÄêµÁ¤¹¤ë¤È¤­¤Ë°ì½ï¤Ë¤è¤¯»È¤¦¡£

TGNumberEntry

¿ô»úÆþÎϥܥ寥¹¤Î¤¿¤á¤Î¥¯¥é¥¹¡£³ÑÅÙ¡¢Æü»þ¡¢16¿Ê¿ô¤Ê¤É¤¤¤í¤¤¤í¤Ê¥¹¥¿¥¤¥ë¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£

kNESInteger¡¡¡¡À°¿ôÃÍ
kNESRealOne¡¡¡¡¿ô»ú1¸Ä¤Î¼Â¿ô(»Ø¿ô¤Ê¤·)
kNESRealTwo¡¡¡¡¿ô»ú2¸Ä¤Î¼Â¿ô(»Ø¿ô¤Ê¤·)
kNESRealThree¡¡¿ô»ú3¸Ä¤Î¼Â¿ô(»Ø¿ô¤Ê¤·)
kNESRealFour¡¡¿ô»ú4¸Ä¤Î¼Â¿ô(»Ø¿ô¤Ê¤·)
kNESReal¡¡¡¡¡¡Ç¤°Õ¤Î¼Â¿ô
kNESDegree¡¡¡¡ÅÙ¡§Ê¬¡§ÉäǤγÑÅ٤Υե©¡¼¥Þ¥Ã¥È
kNESMinSec¡¡¡¡Ê¬¡§ÉäǤλþ´Ö¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
kNESHourMin¡¡¡¡»þ¡§Ê¬¤Ç¤Î»þ´Ö¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
kNESHourMinSec¡¡»þ¡§Ê¬¡§ÉäǤλþ´Ö¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
kNESDayMYear¡¡¡¡Æü¡§·î¡§Ç¯¤Ç¤ÎÆüÉդΥե©¡¼¥Þ¥Ã¥È
kNESMDayYear¡¡¡¡·î¡§Æü¡§Ç¯¤Ç¤ÎÆüÉդΥե©¡¼¥Þ¥Ã¥È
kNESHex¡¡¡¡¡¡¡¡16¿Ê¿ô

¤Þ¤¿¡¢Â°À­¤È¤·¤Æ¼¡¤Î¤â¤Î¤¬»ØÄê¤Ç¤­¤ë¡£

kNEAAnyNumber¡¡¡¡¤É¤ó¤Ê¿ô¤Ç¤âµö¤µ¤ì¤ë
kNEANonNegative¡¡Éé¤Ç¤Ê¤¤¿ô¤À¤±¤¬µö²Ä¤µ¤ì¤ë
kNEAPositive¡¡¡¡À°¿ô¤À¤±¤¬µö²Ä¤µ¤ì¤ë

¤µ¤é¤Ë¡¢ÌÀ¼¨Åª¤Ê¸Â³¦¤ò»ØÄê¤Ç¤­¤ë¡£

kNELNoLimits¡¡¡¡À©¸Â¤Ê¤·
kNELLimitMin¡¡¡¡²¼¸Â¤Î¤ß»ØÄê
kNELLimitMax¡¡¡¡¾å¸Â¤Î¤ß»ØÄê
kNELLimitMinMax¡¡¾å¸Â¡¢²¼¸Â¤È¤â¤Ë»ØÄê

Àë¸À¤Ï¼¡¤Î¤è¤¦¤Ë¹Ô¤¦¡£

TGNumberEntry *aho = new TGNumberEntry(¿Æ¥¦¥£¥¸¥§¥Ã¥È , 0.005 , 9 ,kENTRY1 , ¥¹¥¿¥¤¥ë , ÆþÎÏÃͤΥե£¥ë¥¿ , ¸Â³¦¤Î»ØÄê , ¸Â³¦ÃÍ);

¶ñÂÎÎã¡£

TGNumberEntry *aho = new TGNumberEntry(fMain , 0.005 , 9 ,kENTRY1 , TGNumberFormat::kNESRealThree , TGNumberFormat::kNEAAnyNumber , TNumberFormat::kNELLimitMinMax , -1.0 , 1.0);

DB´Ø·¸

ºÇ¶á¤Îlinux¤Ë¤Ïɸ½àDB¤È¤·¤ÆPostgreSQL¤È¤¤¤¦¤Î¤¬Æþ¤Ã¤Æ¤¤¤ë¡£hippopo¤È¤«¤Ë¤âÆþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤ò»È¤Ã¤¿¤é³Ú¤Á¤ó¤«¤Ê¡£
ÊØÍø¥ê¥ó¥¯¡£->atmarkITÏ¢ºÜµ­»ö
ʸ¸¥->³ÚÅ·