¤Ä¤æ¤À¤¯ ¤ÎÊѹ¹ÅÀ
Top / ¤Ä¤æ¤À¤¯
- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ¤Ä¤æ¤À¤¯ ¤Ø¹Ô¤¯¡£
*¤Ä¤æ¤À¤¯ºîÀï [#s89c69c0]
¤Ä¤æ¤À¤¯ºîÀ郎¼«Ê¬¤Î¤Ê¤«¤ÇÀ¹¤ê¾å¤¬¤ê¤ò¤ß¤»¤Æ¤¤¤ë¡ª¤¹¤°¤Ëµ¤»ý¤Á¤¬¤¯¤¸¤±¤ë¤Î¤Ç¡¢¤Ü¤Á¤Ü¤Á¤ä¤ê¤Þ¤¹¡£
#Contents
~
-----
»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤¤¤¿¤ê¤·¤¿¥Ú¡¼¥¸¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£~
[[²¬»³ÂçÆâÆ£¤µ¤ó¤Î¥Ú¡¼¥¸:http://fphy.hep.okayama-u.ac.jp/~naitou/online/index.html]]~
[[¿À¸ÍÂç(¤¯¤¹¤â¤È¤µ¤ó¡©)¤ÎÊý¤Î¥Ú¡¼¥¸:http://ppwww.phys.sci.kobe-u.ac.jp/~akusumoto/program/sample.php?lang=root]]
*ROOT¤ÇGUI [#m7aa6f01]
´ðËÜŪ¤Ê¤³¤È¤«¤é¥á¥â¡£
**root¤Î¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ¥¹¥¿¥ó¥É¥¢¥í¡¼¥ó¤Ê¥×¥í¥°¥é¥à [#w24f159e]
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++ -glibs ------(ά) -o test.o test.h test_dict.cc
g++ `root-config ------(ά) ` -o test.o test.h test_dict.cc
¤³¤ì¤Ç¤¤¤±¤¿¡£~
*ROOTGUI´Ø·¸¤Î¥¯¥é¥¹ [#qa5499f8]
¤ï¤±¤ï¤«¤á¡£¤¤¤ß¤È¤í¤í¡£
**TGTextEntry [#vfa8c26b]
ʸ»úÎóÆþÎϤò¼õ¤±ÉÕ¤±¤ë¥Ü¥Ã¥¯¥¹¤òÀßÃÖ¤¹¤ë¡£~
~
Àë¸ÀÎã¡£
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 [#ca850e6a]
¥Ü¥¿¥ó¤Î¤¿¤á¤Î¥¯¥é¥¹¡£~
~
Àë¸ÀÎã
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 [#y1b00363]
¥¦¥£¥¸¥§¥Ã¥È¤Î¥ì¥¤¥¢¥¦¥È¤Î¤¿¤á¤Ë¤è¤¯»È¤¦¥¯¥é¥¹¡£
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 [#uab28e01]
¿ô»úÆþÎϥܥ寥¹¤Î¤¿¤á¤Î¥¯¥é¥¹¡£³ÑÅÙ¡¢Æü»þ¡¢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´Ø·¸ [#r5502d19]
ºÇ¶á¤Îlinux¤Ë¤Ïɸ½àDB¤È¤·¤Æ[[PostgreSQL:http://ja.wikipedia.org/wiki/PostgreSQL]]¤È¤¤¤¦¤Î¤¬Æþ¤Ã¤Æ¤¤¤ë¡£hippopo¤È¤«¤Ë¤âÆþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤ò»È¤Ã¤¿¤é³Ú¤Á¤ó¤«¤Ê¡£~
ÊØÍø¥ê¥ó¥¯¡£->[[atmarkITÏ¢ºÜµ»ö:http://www.atmarkit.co.jp/flinux/index/indexfiles/postgreindex.html]]~
ʸ¸¥->[[³ÚÅ·:http://item.rakuten.co.jp/book/3629174/]]~
~