yRAD“‡ŠÂ‹«z Qt ‘ ..
369:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/25 18:15:11
QDialog::reject‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ä
Œ‚̃eƒLƒXƒgƒ{ƒbƒNƒX‚ɃtƒH[ƒJƒX‚ª‚ ‚éŠÔ‚Íesc‚ð‰Ÿ‚µ‚Ä‚àQDialog‚Ìreject()‚ªŒÄ‚΂ê‚È‚¢‚悤‚É‚·‚é
‚Á‚Ă̂͂ǂ¤‚©
class ‚È‚ñ‚© : public QDialog, ...
{
void reject() {
if (! lineEdit->hasFocus()) QDialog::reject();
}
};
ŽQl:
Qt-interest Archive - QDialog and ESC
URLØÝ¸(lists.trolltech.com)
370:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/25 18:19:57
ª
‚ AŒä–ƃXƒ‹[‚µ‚Ä...
371:367
09/10/25 18:34:14
>>368
>>343 ‚̈Ӗ¡‚ðŽæ‚èˆá‚¦‚Ä‚¢‚½‚©‚à‚µ‚ê‚È‚¢B
>Šùo‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªAQLineEdit‚Å“ú–{Œê“ü—Í(ATOK)’†‚ÉESC‚ð‰Ÿ‚·‚ÆIME
>‚ł͂Ȃƒ_ƒCƒAƒƒO‚𔲂¯‚é‚Ì‚ÅA‚»‚ê‚܂Ŋm’肵‚½“à—e‚ªÁ‚¦‚Ä‚µ‚Ü‚¢‚Ü‚·B
‚±‚Ìu“ú–{Œê“ü—Í’†v‚Æ‚¢‚¤‚Ì‚ÍA•ÏŠ·Šm’è‘O‚Ì“ú–{Œê“ü—Í’†‚Æ‚¢‚¤‚±‚ƂȂÌB
‚»‚ê‚Æ‚àA“ú–{Œê“ü—̓‚[ƒh‚ɂȂÁ‚Ä‚¢‚邯‚«‚Æ‚¢‚¤‚±‚ƂȂÌB
>>367 ‚Åo‚éÇó‚ÍŒãŽÒ‚Ì‚±‚Æ‚ð‚¢‚Á‚Ä‚¢‚é‚Ì‚ÅA
Ž¿–âŽÒ‚ª‘OŽÒ‚̈Ӗ¡‚Ì‚±‚Æ‚ð‚¢‚Á‚Ä‚¢‚é‚̂ȂçA
Ž„‚̊‹«‚Å‚àƒ_ƒCƒAƒƒO‚ª•‚¶‚È‚¢‚Æ‚¢‚¤‚±‚ƂɂȂéB
˜b‚ð‚â‚₱‚µ‚‚µ‚Ä‚²‚ß‚ñB
372:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/25 18:58:27
>‚±‚Ìu“ú–{Œê“ü—Í’†v‚Æ‚¢‚¤‚Ì‚ÍA•ÏŠ·Šm’è‘O‚Ì“ú–{Œê“ü—Í’†‚Æ‚¢‚¤‚±‚ƂȂÌB
‚Å‚·
373:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/25 18:59:10
>>371
•¶Žš—ñ‚ªŠm’肵‚Ä‚¢‚邯‚«‚ÉA“ú–{Œê“ü—̓‚[ƒh‚©‚Ç‚¤‚©‚ÉS‚炸AESC‚Ń_ƒCƒAƒƒO
‚ª•‚¶‚Ä‚µ‚Ü‚¤‚Æ‚¢‚¤‚±‚ƂȂç‚ÎA•’ʂ̓®ì‚ł͂Ȃ¢‚Å‚µ‚傤‚©B
374:371
09/10/25 19:14:22
>>372
>‚Å‚·
‚â‚Á‚ς芨ˆá‚¢‚¾‚Á‚½‚Ý‚½‚¢‚ËB‚²‚ß‚ñB
>>373
>•¶Žš—ñ‚ªŠm’肵‚Ä‚¢‚邯‚«‚ÉA“ú–{Œê“ü—̓‚[ƒh‚©‚Ç‚¤‚©‚ÉS‚炸AESC‚Ń_ƒCƒAƒƒO
>‚ª•‚¶‚Ä‚µ‚Ü‚¤‚Æ‚¢‚¤‚±‚ƂȂç‚ÎA•’ʂ̓®ì‚ł͂Ȃ¢‚Å‚µ‚傤‚©B
‚»‚Ì’Ê‚è‚Å‚·BЍˆá‚¢‚µ‚Ä‚¢‚Ü‚µ‚½B
375:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/25 19:44:40
OKƒ{ƒ^ƒ“‚ªƒfƒtƒHƒ‹ƒgƒ{ƒ^ƒ“‚ɂȂÁ‚Ä‚¢‚邯
•ÏŠ·’†‚Ì•¶Žš‚ðŠm’è‚·‚邯‚«‚Ìenter‚Å
“ü—͘g‚É•¶Žš‚ª“ü‚邯“¯Žž‚É(Žc‚è‚̘g‚ª–¢“ü—͂łà)
ƒ_ƒCƒAƒƒO‚ªŠm’肵‚ÄOKƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚½‚±‚ƂɂȂÁ‚Ä‚µ‚Ü‚¢‚Ü‚·
376:362, 367
09/10/25 19:48:08
>>356
QLineEdit‚̃JƒXƒ^ƒ€ƒNƒ‰ƒX‚ð‘‚¢‚ÄAinputMethodEvent()‚ðƒI[ƒo[ƒ‰ƒCƒh‚µA
Žó‚¯Žæ‚Á‚½ƒCƒxƒ“ƒg‚Ìevent->preeditString()‚ª‹ó‚©‚Ç‚¤‚©‚ÅA
“ü—Í’†‚©‚Ç‚¤‚©‚ª”»’f‚Å‚«‚é‚Ý‚½‚¢B
‚Ü‚½A‚±‚¿‚ç(Linux, qt immodule, anthy)‚Å‚ÍA“ú–{Œê“ü—Í’†i•ÏŠ·Šm’è‘Oj‚ÍA
“r’†‚ÅESCƒL[‚ð‰Ÿ‚µ‚Ä‚àkeyPressEvent‚Í”¶‚¹‚¸AinputMethodEvent‚¾‚¯‚ª”¶‚µ‚½B
‚¾‚©‚ç‚»‚¿‚ç‚à“¯‚¶“®ì‚È‚çinputMethodEvent()‚¾‚¯‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚ê‚΂¢‚¢‚ÆŽv‚¤B
‚½‚¾A‚±‚¿‚ç‚̊‹«‚ƈႤ‚µAATOK‚Ì–â‘è‚©‚à‚ê‚È‚¢‚©‚çA‚»‚¿‚ç‚̊‹«‚Å‚ÍA
“ú–{Œê“ü—Í’†‚ÉESC‚ð‰Ÿ‚µ‚½‚Æ‚«‚ÉAkeyPressEvent‚ª”¶‚µ‚Ä‚¢‚é‚©‚à‚µ‚ê‚È‚¢B
‚»‚̂Ƃ«‚ÍAkeyPressEvent()‚àƒI[ƒo[ƒ‰ƒCƒh‚·‚é•K—v‚ª‚ ‚é‚©‚à‚µ‚ê‚È‚¢B
ꇂɈ˂Á‚Ă̓tƒ‰ƒO‚𗧂Ăēü—Í’†‚©‚Ç‚¤‚©‚ð”»’f‚·‚ê‚΂悢B
377:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/25 20:07:45
>>375
>OKƒ{ƒ^ƒ“‚ªƒfƒtƒHƒ‹ƒgƒ{ƒ^ƒ“‚ɂȂÁ‚Ä‚¢‚邯
>•ÏŠ·’†‚Ì•¶Žš‚ðŠm’è‚·‚邯‚«‚Ìenter‚Å
>“ü—͘g‚É•¶Žš‚ª“ü‚邯“¯Žž‚É(Žc‚è‚̘g‚ª–¢“ü—͂łà)
>ƒ_ƒCƒAƒƒO‚ªŠm’肵‚ÄOKƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚½‚±‚ƂɂȂÁ‚Ä‚µ‚Ü‚¢‚Ü‚·
>>343 ‚Ìl‚¾‚æ‚ËB
‚±‚¿‚çiLinux/X11j‚Å‚ÍA’P‚É“ú–{Œê“ü—͂̊m’è‚ɂȂéB
‚»‚µ‚Ä‚à‚¤ˆê“xEnter‚ð‰Ÿ‚·‚ƃfƒtƒHƒ‹ƒgƒ{ƒ^ƒ“‚É‚æ‚èAƒ_ƒCƒAƒƒO‚ª•‚¶‚éB
378:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/25 20:28:02
ƒL[ƒ{[ƒh‰ó‚ê‚Ä‚ñ‚¶‚á‚Ë
379:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/25 21:27:25
>>346
MS-IME‚̓}ƒCƒNƒƒ\ƒtƒg‚Ì»•i‚¾‚¯‚ÇB
> IME - Wikipedia
> Wikipedia€–ÚØÝ¸
> IME‚ÍWindows‚É‚¨‚¯‚é—pŒê‚Å‚ ‚èA
> L‚•¶Žš“ü—͂̂½‚߂̃VƒXƒeƒ€‚ð•\‚·ˆê”Ê–¼Ì‚̓Cƒ“ƒvƒbƒgƒƒ\ƒbƒh‚Å‚ ‚éB
> ‚½‚¾‚µAŋ߂łÍWindowsˆÈŠO‚̃vƒ‰ƒbƒgƒtƒH[ƒ€‚ÅŽg‚í‚ê‚éƒCƒ“ƒvƒbƒgƒƒ\ƒbƒh
> iMac OS‚Ìu‚±‚Æ‚¦‚èv‚È‚Çj‚ɂ‚¢‚Ä‚àIME‚ƌĂ΂ê‚邱‚Æ‚ª‚ ‚éB
> Androidƒvƒ‰ƒbƒgƒtƒH[ƒ€‚Å‚ÍWindows“¯—lAIME‚Æ‚¢‚¤—pŒê‚ðŽg—p‚µ‚Ä‚¢‚éB
‚¤‚ÞA”÷–B
380:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/25 21:33:16
IME ‚ƌĂÔl‚Í‚Ù‚Ú Windows ƒ†[ƒU‚Æl‚¦‚ăIƒP‚Å‚·B
381:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/26 10:42:48
Qt Creator‚̈ê”Ô‚µ‚½‚̃o[‚ÉŒŸõƒ{ƒbƒNƒX‚ª‚ ‚è‚Ü‚·‚æ‚Ë
‚ ‚êAƒƒ\ƒbƒh‚Æ‚©ŒŸõ‚Å‚«‚ĕ֗˜‚È‚ñ‚¾‚¯‚Ç
‚‚¢‚Å‚ÉA•Ï”‚àŒŸõ‚Å‚«‚È‚¢‚Å‚·‚©H
382:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/26 12:52:48
–³—‚ð³’m‚Ìã‚Å‚ÌQt‰SŽÒ‚ÌŽ¿–â‚Å‚·B
Windows‚ÅCQMainWindow‚̃EƒBƒ“ƒhƒEƒnƒ“ƒhƒ‹(HWND)‚ðŽæ“¾‚·‚é•û–@‚Á‚ĂȂ¢‚ñ‚Å‚µ‚傤‚©H
¡‚܂ő¼‚ÌŠJ”ŠÂ‹«‚Å‘‚«‚½‚ß‚½ƒ\[ƒX‚⃉ƒCƒuƒ‰ƒŠ‚ÅHWND‚ðˆø”‚⃊ƒ^[ƒ“’l‚ÉŽ‚Â
WIN32 API‚ð‚©‚È‚èŽg‚Á‚Ä‚¢‚é‚Ì‚ÅCŠy‚ɈÚA‚µ‚½‚¢‚̂ł·B
Qt‚ÌÝŒvŽv‘z‚©‚çOSˆË‘¶‚·‚邿‚¤‚È‚à‚͔̂rœ‚³‚ê‚Ä‚¢‚é‚Ì‚à‚í‚©‚è‚Ü‚·‚µCWIN32 API‚Ì
‘ã‘Ö‚Æ‚È‚é‚æ‚¤‚È‹@”\‚ª—pˆÓ‚³‚ê‚Ä‚¢‚邿‚¤‚ł͂ ‚é‚ñ‚Å‚·‚ªDDD
Œ»ÝƒAƒNƒeƒBƒu‚ȃEƒBƒ“ƒhƒE‚̃nƒ“ƒhƒ‹‚È‚çWIN32 API‚Ì ::GetActiveWindow() ‚Ŏ擾‚Å‚«‚Ü‚µ‚½‚ªC
‚»‚Ì‘¼‚̃EƒBƒ“ƒhƒE‚ɂ‚¢‚Ä‚ÍC::FindWindowEx()‚Æ‚©Žg‚Á‚Ď擾‚·‚邵‚©‚È‚¢‚ñ‚Å‚µ‚傤‚©B
383:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/26 12:58:04
‚ ‚è‚Ü‚·‚ª
384:382
09/10/26 12:59:29
>>383
Ž¿–â‚·‚é‘O‚Ƀwƒ‹ƒv‚ð’T‚µ‚½‚ñ‚Å‚·‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½B
‹³‚¦‚Ä‚‚¾‚³‚¢B
385:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/26 13:09:04
>>382
Qt-interest Archive - Qt 4.2.0: How to get HWND handle?
URLØÝ¸(lists.trolltech.com)
WId‚ÍWindows‚Å‚Íhwnd‚¾‚©‚çAWId QWidget::winId() const‚ðŽg‚¤‚ñ‚¾‚Á‚Ä‚³
386:382
09/10/26 13:24:22
>>385
‚â‚Á‚Ă݂½‚炤‚Ü‚s‚«‚Ü‚µ‚½B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
387:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/26 16:08:56
>>381
‚Å‚«‚È‚¢‚ñ‚¶‚á‚È‚¢‚©‚ÈB
‘½•ª’m‚Á‚Ä‚¢‚邯Žv‚¤‚¯‚ÇAŒ»ÝŠJ‚¢‚Ä‚¢‚éƒhƒLƒ…ƒƒ“ƒgˆÈŠO‚ðŒŸõ‚µ‚½‚¢‚̂ȂçB
u•ÒWvƒƒjƒ…[‚ÌuŒŸõE’uŠ·v->uFind Dialogv‚â
u•ÒWvƒƒjƒ…[‚ÌuŒŸõE’uŠ·v->uƒfƒBƒXƒNã‚̃tƒ@ƒCƒ‹v
‚Ȃǂð‘I‚ñ‚ÅA•¡”‚̃tƒ@ƒCƒ‹‚Ì’†‚ÌŒŸõ‚ª‚Å‚«‚é‚©‚ç‚»‚ê‚ðŽg‚¤‚µ‚©‚È‚¢‚ñ‚¶‚á‚È‚¢‚©‚ÈB
ŒŸõŒ‹‰Ê‚ÍAQt Creator‚Ì’†‚ÅƒŠƒXƒgƒAƒbƒv‚³‚ê‚é‚̂ŕ֗˜B
‚Å‚à‚±‚ꂾ‚ÆA•Ï”ŒÀ’è‚Æ‚¢‚¤‚킯‚ɂ͂¢‚©‚È‚¢‚¯‚ÇB
ƒfƒBƒXƒN“à‚ðŒŸõ‚·‚邯‚«‚ÍAƒfƒBƒŒƒNƒgƒŠ‚ðŽw’肵‚½•û‚ª‚¢‚¢‚æB
388:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/26 23:19:11
>333
’xƒŒƒX‚Å‚·‚ªAƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
„‚¾‚©‚çAƒV[ƒ“‚̃Cƒxƒ“ƒgƒnƒ“ƒhƒ‰[‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚ÄA
„ƒAƒCƒeƒ€‚Ì‹¤’ʂ̈—‚ÍA‚±‚¿‚ç‚Å‘‚¯‚΂¢‚¢‚ÆŽv‚¤B
‚±‚ê‚ðŽÀ‘H‚µ‚悤‚ÆŽv‚¢AQGraphicsScene‚©‚ç”h¶‚µ‚½PixmapSceneƒNƒ‰ƒX‚ð
‚‚‚èAmousePressEvent()‚ðŽÀ‘•‚µ‚ÄA‚»‚±‚Ń}ƒEƒXƒNƒŠƒbƒN‚³‚ꂽ˜_—À•W‚ð
“¾‚悤‚Æ‚µ‚Ü‚µ‚½B
class PixmapScene : public QGraphicsScene
{
public:
PixmapScene();
protected:
void mouseMoveEvent(QMouseEvent* event);
void mousePressEvent(QMouseEvent* event);
};
‚±‚Ì‘‚«•û‚¾‚ÆAƒ}ƒEƒXƒCƒxƒ“ƒg‚ª”¶‚³‚ê‚È‚¢‚̂ł·‚ªA
‚Ç‚±‚ªŠÔˆá‚Á‚Ä‚¢‚é‚Å‚µ‚傤‚©H
389:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/26 23:26:23
virtual
390:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/26 23:33:00
>>388
Q_OBJECTƒ}ƒNƒ‘‚©‚È‚¢‚Æ‚¢‚¯‚È‚¢B
class PixmapScene : public QGraphicsScene
{
Q_OBJECT
public:
PixmapScene();
//...
391:390
09/10/26 23:45:23
>>390 ‚Ì‘±‚«
‚à‚¤ˆê‚Â
QGraphicsScene‚̃Cƒxƒ“ƒgƒnƒ“ƒhƒ‰[‚̂قƂñ‚Ç‚ÍA
QGraphicsSceneEvent‚©‚ç”h¶‚µ‚½ƒCƒxƒ“ƒgƒ^ƒCƒv‚̃Cƒxƒ“ƒg‚ð
ƒnƒ“ƒhƒ‹‚·‚éB
lass PixmapScene : public QGraphicsScene
{
Q_OBJECT
//...
protected:
void mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent)
void mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent)
//...
QGraphicsScene‚âQGraphicsItem‚ÍAqreal‚âQRectF‚Ȃǂ̕‚“®¬”“_”Œ^
‚Ì’l‚ÅÀ•W’l‚ð•ÛŽAŒvŽZ‚·‚éB
‚¾‚©‚çAŽ©•ª‚ŃJƒXƒ^ƒ€ƒNƒ‰ƒX‚ð‘‚Žž‚ÍA‚±‚ê‚ç‚Ì•‚“®¬”“_”Œ^‚ðŽg‚¤B
‚¿‚Ȃ݂ÉAˆê•”‚Ì‘gž‚݂̂à‚̂𜂢‚ÄA‚Ù‚Æ‚ñ‚ǂ̃vƒ‰ƒbƒgƒtƒH[ƒ€‚Å‚ÍA
qreal‚Ídouble‚ªtypedef‚³‚ꂽ‚àB
‚½‚¾‚µAƒ†[ƒU[‚Æ‚µ‚ÄŽg‚¤Žž‚ÍA˜_—À•W‚Æ‚¢‚¤‚±‚Æ‚ÅintŒ^‚Ȃǂ̒l‚ð
ƒƒ“ƒo[ŠÖ”‚É“n‚µ‚Ä‚à‚æ‚¢B
392:390
09/10/26 23:54:53
’ù³j;‚ª”²‚¯‚Ä‚¢‚½B
void mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent);
void mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent);
•ª‚©‚Á‚Ä‚¢‚邯‚ÍŽv‚¤‚¯‚ÇAPixmapScene‚©‚炳‚ç‚É”h¶‚³‚¹A
‚»‚Ì”h¶ƒNƒ‰ƒX‚ŃCƒxƒ“ƒg‚ðƒnƒ“ƒhƒ‹‚·‚éꇂɂÍ
PixmapScene‚̃Cƒxƒ“ƒgƒnƒ“ƒhƒ‰[‚É‚à
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent);
‚Ævirtual‚ð‚‚¯‚È‚¢‚Æ‚¢‚¯‚È‚¢B
393:390
09/10/26 23:58:18
“xX‚²‚ß‚ñ
Αjlass PixmapScene : public QGraphicsScene
³jclass PixmapScene : public QGraphicsScene
394:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/27 00:06:04
>391, 392
virtual‚ÌŒ‚ͳ’m‚µ‚Ä‚¨‚è‚Ü‚·B‚²Žw“E‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
scene‚̃}ƒEƒXƒCƒxƒ“ƒg‚ª‚¤‚Ü‚•â‘«‚Å‚«‚Ü‚¹‚ñB
class PixmapScene : public QGraphicsScene
{
Q_OBJECT
public:
PixmapScene();
protected:
void mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent);
void mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent);
};
void PixmapScene::mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent)
{
int x = mouseEvent->lastPos().x();
int y = mouseEvent->lastPos().y();
qDebug() << QString("into PixamapScene::mousePressEvent() (x, y) = (%1, %2)").arg(x).arg(y);
}
‚Æ‚©‚â‚Á‚Ă݂܂µ‚½‚ªAƒRƒ“ƒ\[ƒ‹‚ɉ½‚à•\ަ‚³‚ê‚Ü‚¹‚ñB
MainWindow‚ÅPixmapScene m_scene;‚Æ‚µ‚ÄA
m_scene.addPixmap(QPixmap::fromImage(m_imge));
ui->graphicsView->setScene(&m_scene);
‚ðs‚Á‚ÄAscene‚ðgraphicsview‚ɃZƒbƒg‚Í‚µ‚Ä‚¨‚è‚Ü‚·B
‰½‚©ª–{“I‚É—‰ð‚ªŠÔˆá‚Á‚Ä‚¢‚é‚Ì‚©BBB
395:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/27 00:10:24
>>390
> Q_OBJECTƒ}ƒNƒ‘‚©‚È‚¢‚Æ‚¢‚¯‚È‚¢B
ƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚邽‚ß‚¾‚¯‚È‚ç‚ÎA‚È‚‚Ä‚à‚æ‚¢‚Å‚·B
>>392
> virtual‚ð‚‚¯‚È‚¢‚Æ‚¢‚¯‚È‚¢B
•t‚¯‚È‚‚Ä•t‚¯‚½‚±‚ƂɂȂé‚Ì‚ÅA•t‚¯‚È‚‚Ä‚à‚æ‚¢‚Å‚·B
396:390
09/10/27 00:32:13
>>395
Œë‰ð‚µ‚Ä‚¢‚½B
‚ ‚肪‚Æ‚¤B
397:390
09/10/27 00:47:07
>>394
‚¿‚å‚Á‚ÆŒ´ˆö‚ª•ª‚©‚ç‚È‚¢B
‚±‚¿‚ç‚ÅŠm”F‚µ‚½ŒÀ‚è‚Å‚ÍA394‚̃R[ƒh‚Å–â‘è‚È‚ƒ}ƒEƒXƒvƒŒƒXƒCƒxƒ“ƒg‚ªƒnƒ“ƒhƒ‹‚Å‚«‚½B
‚½‚¾Aƒnƒ“ƒhƒ‰[‚Ì’†‚ÅQGraphicsScene::mousePressEvent()‚ðƒR[ƒ‹‚µ‚½•û‚ª‚¢‚¢‚ÆŽv‚¤B
‚»‚¤‚µ‚È‚¢‚ƃAƒCƒeƒ€‚ª”z’u‚³‚ê‚Ä‚¢‚鎞‚ÉA‚»‚̃AƒCƒeƒ€‚ɃCƒxƒ“ƒg‚ª“`‚í‚ç‚È‚‚È‚éB
void
PixmapScene::mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent)
{
qreal x = mouseEvent->lastScenePos().rx();
qreal y = mouseEvent->lastScenePos().ry();
qDebug() << QString("PixamapScene::mousePressEvent() (x, y) = (%1, %2)").arg(x).arg(y);
QGraphicsScene::mousePressEvent(mouseEvent);
}
398:390
09/10/27 01:12:38
>>394
ˆê‚ÂŽv‚¢‚‚¢‚½B
GraphicsView‚ÌmousePressEvent()‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ä‚¢‚é‚Ì‚ÉA
‚»‚Ì’†‚ÅŠî’êƒNƒ‰ƒX‚ÌQGraphicsView::mousePressEvent()‚ð
ƒR[ƒ‹‚µ‚Ä‚¢‚È‚¢‚Ì‚ªŒ´ˆö‚Å‚Í?
ƒOƒ‰ƒtƒBƒbƒNƒXƒV[ƒ“ƒtƒŒ[ƒ€ƒ[ƒN‚Å‚ÍAƒCƒxƒ“ƒg‚Í
QGraphicsView -> QGraphicsScene -> QGraphicsItem
‚̇”Ô‚É“`‚¦‚ç‚ê‚é‚©‚çB
399:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/27 06:50:56
Qt‚̃lƒbƒgƒ[ƒN‚ÉŠÖ‚µ‚Ă̎¿–â‚Å‚·B
HTTPƒvƒƒgƒRƒ‹‚ðŽg‚Á‚ÄAWebƒTƒCƒg‚ɃAƒNƒZƒX‚·‚邽‚ß‚ÉA¡‚܂łÍQHttp‚Æ‚»‚ÌŽü•ӂ̃Nƒ‰ƒX‚ðŽg‚Á‚Ä‚¢‚Ü‚µ‚½B
‚µ‚©‚µAQHttp‚̃wƒ‹ƒv‚ðŒ©‚é‚ÆAQt 4.4‚Å“±“ü‚³‚ꂽAQNetworkAccessManager‚ðŽg‚Á‚½‚Ù‚¤‚ª‚æ‚¢‚Æ‘‚¢‚Ä‚ ‚è‚Ü‚µ‚½B
Šm‚©‚É‚±‚¿‚炾‚ÆAƒAƒNƒZƒX‚µ‚½Œã‚ɕԂÁ‚Ä‚‚é•Ô“š‚ðQIODevice‚ðŒp³‚µ‚Ä‚¢‚éQNetworkReply‚Ŏ󂯎æ‚ê‚é‚Ý‚½‚¢‚ÅAŽg‚¢‚â‚·‚»‚¤‚Å‚µ‚½B
‚»‚±‚ÅA‚±‚¿‚ç‚ɈÚs‚µ‚悤‚ÆŽv‚¢A‘‚«’¼‚µ‚Ä‚¢‚é‚̂ł·‚ªAQHttp‚ÅŽÀ‘•‚µ‚Ä‚¢‚½‚Æ‚«‚ÉA
header‚ð‹Lq‚·‚邽‚߂ɗp‚¢‚½QHttpRequestHeaderƒNƒ‰ƒX‚Ì
QHttpRequestHeader::QHttpRequestHeader ( const QString & method, const QString & path, int majorVer = 1, int minorVer = 1 )
‚±‚̃ƒ\ƒbƒh‚ÌArequest-URI‚ðŽw’è‚·‚épath‚âAprotocol-version‚ðŽw’è‚·‚émajorVer‚Ȃǂð
‹Lq‚·‚é‚à‚Ì‚ªQNetworkReplyƒNƒ‰ƒX‚â‚»‚ÌŽü•ÓƒNƒ‰ƒX‚ÌQNetworkRequestƒNƒ‰ƒX‚ÉŒ©“–‚½‚è‚Ü‚¹‚ñB
‚Ü‚½AQHttp::setHost(...)‚̂悤‚ȃzƒXƒg‚ðŽw’è‚·‚郃\ƒbƒh‚àŒ©“–‚½‚è‚Ü‚¹‚ñB
‚Ç‚¤‚©‚²‘¶’m‚Ì•û‚ª‚¨‚ç‚ê‚Ü‚µ‚½‚çA‚²‹³Žö‚¨Šè‚¢‚µ‚Ü‚·B
400:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/27 07:09:43
QIODevice‚ðŒp³‚µ‚Ä‚¢‚é
401:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/27 07:13:02
path‚âhost‚ÍQNetworkRequest‚ÉQU‚’‚Œ‚ÅŽw’è‚·‚é‚ñ‚¶‚á‚È‚¢‚ÌH
402:399
09/10/27 07:44:54
>>401
‚Å‚«‚Ü‚µ‚½I
Ž©“®‚ŃzƒXƒg‚ƃpƒX‚𕪂¯‚Ä‚‚ê‚é‚ñ‚Å‚·‚ËB
‘¼‚̂Ƃ±‚ë‚̃oƒO‚à‚ ‚Á‚Ä‚¤‚Ü‚s‚©‚¸‹C‚«‚Ü‚¹‚ñ‚Å‚µ‚½B
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
403:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/27 21:43:30
>390
void PixmapScene::mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent)
‚É“ü‚Á‚Ä‚‚邱‚Æ‚ª‚Å‚«‚Ü‚µ‚½B
‚ª‚µ‚©‚µA
mouseEvent->lastPos(), pos()‚ȂǎÀs‚µ‚Ä‚àA(0, 0)‚µ‚©•Ô‚Á‚Ä—ˆ‚Ü‚¹‚ñB
mouseEvent->scenePos()‚ª–Ú“I‚Æ‚µ‚Ä‚¢‚½À•W’l‚̂悤‚Å‚·B
‚Ü‚½AscenePos()‚ªƒ}ƒCƒiƒX‚̂Ƃ±‚ë‚ðƒNƒŠƒbƒN‚µ‚Ä‚àAã‹LƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚É—ˆ‚é‚Ý‚½‚¢‚Å‚·B
‚Ä‚Á‚«‚è‚»‚Ìscene“à‚¾‚¯‚©‚ÆŽv‚Á‚½‚çBBB
‚à‚¤‚µƒwƒ‹ƒv‚ð“Ç‚ñ‚ł݂܂·B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
404:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/27 22:16:35
mousecapture
405:403
09/10/27 23:32:40
‚ ‚ƈꑧ‚Ȃ̂ł¨’mŒb‚ð”qŽØ‚¢‚½‚¾‚¯‚邯‚ ‚肪‚½‚¢‚Å‚·B
MainWindowiQMainWindow‚©‚ç”h¶j
+ImageView(QGraphicsView‚©‚ç”h¶)
+PixmapScene(QGraphicsScene‚©‚ç”h¶)
MainWindow‚Åui->graphicsView->setScene()‚ÅPixmapSceneƒIƒuƒWƒFƒNƒg‚ðÝ’è
‚Æ‚¢‚¤‘O’ñ‚ÅA
void PixmapScene::mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent)
ã‹LƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚©‚çAMainWindow‚̃ƒ“ƒoŠÖ”‚ðŒÄ‚Ñ‚½‚¢‚̂ł·‚ªA
‚ǂ̂悤‚É‚µ‚½‚ç‚æ‚¢‚̂łµ‚傤H
PixmapScene‚©‚çImageView‚̃|ƒCƒ“ƒ^‚ðƒQƒbƒg‚Å‚«‚ê‚ÎA
ImageView‚©‚çMainWindow‚̃|ƒCƒ“ƒ^‚𓾂ÄAMainWindow‚̃ƒ“ƒoŠÖ”‚ðŒÄ‚ׂé‚̂łÍ
‚Æl‚¦‚Ä‚¨‚è‚Ü‚·B
‚â‚肽‚¢‚±‚Ƃɑ΂µ‚ĔώG‚È‹C‚ª‚·‚é‚̂ł·‚ªA‚±‚ñ‚È‚à‚̂ł·‚©‚ËB
406:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/27 23:38:07
>>403
>‚Ü‚½AscenePos()‚ªƒ}ƒCƒiƒX‚̂Ƃ±‚ë‚ðƒNƒŠƒbƒN‚µ‚Ä‚àAã‹LƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚É—ˆ‚é‚Ý‚½‚¢‚Å‚·B
>‚Ä‚Á‚«‚è‚»‚Ìscene“à‚¾‚¯‚©‚ÆŽv‚Á‚½‚çBBB
ƒV[ƒ“‚͘_—À•W‚ð•\Œ»‚·‚éƒNƒ‰ƒX‚Ȃ̂ÅÀ•W’l‚Æ‚µ‚ă}ƒCƒiƒX‚à‚Æ‚éB
407:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/28 00:38:13
>>405
>‚ ‚ƈꑧ‚Ȃ̂ł¨’mŒb‚ð”qŽØ‚¢‚½‚¾‚¯‚邯‚ ‚肪‚½‚¢‚Å‚·B
‚ª‚ñ‚΂êB
>MainWindowiQMainWindow‚©‚ç”h¶j
>+ImageView(QGraphicsView‚©‚ç”h¶)
>+PixmapScene(QGraphicsScene‚©‚ç”h¶)
‚¿‚å‚Á‚ƃNƒ‰ƒX‚Ì\¬‚âŽQÆŠÖŒW‚ªŒ©‚¦‚È‚¢‚ñ‚¾‚¯‚ÇB
‚±‚ê‚ç‚̃Nƒ‰ƒX‚ÍA‘S‚ăR[ƒh‚Å‘‚¢‚½‚ÌH‚»‚ê‚Æ‚àƒtƒH[ƒ€ƒGƒfƒBƒ^‚ðŽg‚Á‚½?
ƒtƒH[ƒ€ƒGƒfƒBƒ^‚ðŽg‚Á‚½‚̂ȂçMainWinodw‚̉º‚É
ƒZƒ“ƒgƒ‰ƒ‹ƒEƒBƒWƒbƒg‚µ‚ÄQWidget‚ª‚ ‚é‚Í‚¸‚È‚ñ‚¾‚¯‚ÇB
>>285 ‚ÅŽw“E‚µ‚½‚悤‚È‚±‚Æ‚ª•K—v‚ɂȂéB
‚»‚ê‚Æ‚àAImageView‚ÍAsetCentralWidget()‚ÅŽw’肵‚½
ƒZƒ“ƒgƒ‰ƒ‹ƒEƒBƒWƒbƒg‚È‚Ì?
PixmapScene‚ÍAeƒIƒuƒWƒFƒNƒg‚ðŽQÆ‚µ‚Ä‚¢‚éA‚»‚ê‚Æ‚à‚µ‚ĂȂ¢?
‚»‚̕ӂª•ª‚©‚ç‚È‚¢‚©‚çˆê”ʘ_‚ʼnñ“š‚·‚éB
408:407
09/10/28 00:39:41
‚‚«
QWidget‚É‚ÍAeƒEƒBƒWƒbƒg‚ðƒ|ƒCƒ“ƒ^[‚Æ‚µ‚ÄŽQÆ‚³‚¹‚邱‚Æ‚ª‚Å‚«‚é‚©‚ç
‚à‚µƒRƒ“ƒXƒgƒ‰ƒNƒ^[‚ȂǂÅeƒEƒBƒWƒbƒg‚ðŽQÆ‚³‚¹‚ĂȂ¢‚È‚çŽQÆ‚³‚¹‚邿‚¤‚É‚µ‚Ä‚©‚ç
‚»‚ÌparentWidget()‚ÅeƒEƒBƒWƒbƒg‚ðŽQÆ‚µ‚Äqobject_cast<>()‚ŃLƒƒƒXƒg‚µ‚Ä
‚Æ‚¢‚¤ˆ—‚ðŒJ‚è•Ô‚µAƒƒCƒ“ƒEƒCƒ“ƒhƒE‚܂ők‚Á‚Ä‚¢‚‚©B
‚Ü‚½‚Í
>>286 ‚ÅŽw“E‚µ‚½•û–@‚Ȃǂ̑ã‘ÖˆÄ‚ð‚Æ‚é‚Æ‚©B
‚Ȃǂªl‚¦‚ç‚ê‚éB
‚Ü‚½AƒV[ƒ“‚̃JƒXƒ^ƒ€ƒNƒ‰ƒX‚ð‘‚¢‚Ä‚¢‚é‚̂Ȃç‚ÎMainWindow‚ðƒ|ƒCƒ“ƒ^[ƒƒ“ƒo[‚Æ‚µ‚ÄŽQÆ‚µA
ƒRƒ“ƒXƒgƒ‰ƒNƒgŽž‚É“n‚·‚悤‚É‚·‚ê‚΂¢‚¢‚ñ‚¶‚á‚È‚¢‚©‚ÈB
QGraphicsScene‚ÍQWidget‚ł͂ȂQObject‚ðŒp³‚µ‚Ä‚¢‚éAparent()‚ÅeƒIƒuƒWƒFƒNƒg‚𓾂ÄA
qobject_cast<>()‚ŃLƒƒƒXƒg‚·‚é•K—v‚ª‚ ‚éB
409:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/28 08:30:44
ƒOƒO‚Á‚Ä‚¢‚½‚çC‚¢‚‚̊Ԃɂ©uQt Users Forum Japanv‚È‚éƒtƒH[ƒ‰ƒ€‚ªo—ˆ‚Ä‚é
‚̂ɂ½‚ǂ蒅‚¢‚½B
URLØÝ¸(qtusersforum.s2.zmx.jp)
‚±‚±‚à‚¢‚¢‚ñ‚¾‚¯‚ÇCƒ\[ƒXƒR[ƒh‘‚‚ƃCƒ“ƒfƒ“ƒg‚ª–³Ž‹‚³‚ê‚Ä‚µ‚Ü‚¤‚Ì‚ÅCƒ\[ƒXƒR[ƒg
‚ð‘‚•K—v‚ª‚ ‚éꇂÍã‚Ì•û‚ªŒü‚¢‚Ă邩‚àB
ŠÇ—l‚ª‚Ç‚ñ‚ȃvƒƒtƒB[ƒ‹‚ÅC‚Ç‚ñ‚È”wŒi‚Åì‚ç‚ꂽ‚©‚͂킩‚ç‚ñ‚ªB
410:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/28 11:34:49
Qt‚Ń}ƒ‹ƒ`ƒXƒŒƒbƒh‚̃fƒUƒCƒ“ƒpƒ^[ƒ“‚ÌŽÀ‘•—Ⴊ‚Ù‚µ‚¢B
411:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/28 11:52:00
>>410
pthread(POSIX Thread)‚̃pƒ^[ƒ“‚ªA‚»‚̂܂܎g‚¦‚È‚¢H
412:403
09/10/28 22:30:47
>407
MainWindow‚ÆImageView‚̓tƒH[ƒ€ƒGƒfƒBƒ^‚Åì¬
MainWindowã‚ÉQGraphicsView‚ðŠiã‚°
QGraphicsScene‚ð”h¶‚µ‚½PixmapScene‚ðŽ©ì
PixmapScene‚ÍMainWindow‚Ƀƒ“ƒo•Ï”‚Æ‚µ‚ăCƒ“ƒXƒ^ƒ“ƒX¶¬
PixmapScene‚ð”h¶‚·‚éÛAQGraphicsScene‚ª‚²Žw“E‚̂Ƃ¨‚èA
QObject‚ðˆø”‚Æ‚·‚éƒRƒ“ƒXƒgƒ‰ƒNƒ^‚µ‚©‚È‚©‚Á‚½‚½‚ßAPixmapScene‚Ì
ƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚©‚çMainWindow‚̃ƒ“ƒoŠÖ”‚Ö‚Ç‚¤‚â‚Á‚ăAƒNƒZƒX‚µ‚½‚ç
—Ç‚¢‚Ì‚¾‚낤‚Æ”Y‚݂܂µ‚½B
ŒJ‚è•Ô‚µ‚ɂȂè‚Ü‚·‚ªAPixmapScene‚̃Cƒ“ƒXƒ^ƒ“ƒX¶¬‚ÍAMainWindow‚Ì
ƒƒ“ƒo•Ï”‚Æ‚µ‚Ä‚¨‚è‚Ü‚·‚ªA‚±‚ÌÛA
PixmapScene::PixmaScene(QObject* parent) : QGraphicsScene(parent){}
‚ƃRƒ“ƒXƒgƒ‰ƒNƒ^‚ð’è‹`‚µ‚ÄA
MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWindow),m_pixmapscene(this) { ... }
PixmapScene‚ÉMainWindow‚̃|ƒCƒ“ƒ^‚ð“n‚µ‚Ä‚¨‚«APixmapScene::mousePressEventQGraphicsSceneMouseEvent* mouseEvent)
{
MainWindow* mainwindow = qobject_cast<MainWindow*>(parent());
qDebug() << mainwindow;
if (mainwindow != 0)
{
mainwindow->setPointToStatusBar(mouseEvent->scenePos().x(), mouseEvent->scenePos().y());
}
}
MainWindow‚̃ƒ“ƒoŠÖ”‚ɃAƒNƒZƒX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚µ‚½B
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
i’·X‚Æà–¾‚ª‰ºŽè‚Å‚·‚¢‚Ü‚¹‚ñBj
>>286‚̂悤‚ÉAƒOƒ[ƒoƒ‹‚ȃAƒvƒŠ‚̃|ƒCƒ“ƒ^Žg‚Á‚½•û‚ªƒXƒ}[ƒg‚©‚ȂƎv‚Á‚½‚èBBB
413:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/28 22:45:29
>>410
ƒTƒuƒXƒŒƒbƒh‚©‚çƒVƒOƒiƒ‹‚ð‘—‚é‚ÆƒƒCƒ“ƒXƒŒƒbƒh‚̃Xƒƒbƒg‚ŕߑ¨‚³‚ê‚é‚Ì‚Å
ƒXƒŒƒbƒhŠÔ’ÊM‚ª‚·‚Á‚°[ŠÈ’P‚É‚È‚é‚æ
414:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/28 23:08:30
>>412
>ƒOƒ[ƒoƒ‹‚ȃAƒvƒŠ‚̃|ƒCƒ“ƒ^Žg‚Á‚½•û‚ªƒXƒ}[ƒg‚©‚ȂƎv‚Á‚½‚èBBB
MainWindow‚܂ł½‚Ç‚é‚Ì‚ª‘å•ςȂƂ«i‰“‚¢‚Æ‚«j‚ÍA—LŒøB
415:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/29 01:24:46
>>413
‚Ü‚ A‚»‚ñ‚ȂƂ±‚ë‚ÌŽÀ‘•—ႪŒ©‚½‚¢‚ñ‚¾‚æ‚ÈB
4.6‚É‚ÍQFuture‚Æ‚©‚ ‚邵AŽg‚¢•û‚à’m‚肽‚¢B
416:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/29 08:18:19
>>415
QFuture‚ÍA4.4‚©‚ç‚ ‚è‚Ü‚·B
417:403
09/10/29 23:45:58
>408
>>286‚̂悤‚ȃR[ƒh‚ÉC³‚µ‚½‚¢‚ÆŽv‚Á‚½‚̂ł·‚ªAqApp‚͂ǂ±‚Ŷ¬‚³‚ê‚Ä‚¢‚é‚à‚̂Ȃ̂łµ‚傤H
¡Œ»Ýmain()‚Í
int main(int argc, char *argv[])
{
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
‚±‚̂悤‚ÈŠ´‚¶‚Å‚·Bi¡Œ©‚邯a, w‚Æ‚©“K“–‚ȕϔ–¼BBj
QApplicationƒNƒ‰ƒX‚ð”h¶‚³‚¹‚ÄAgetMainWindow()‚ð’ljÁ‚·‚é‚̂͂킩‚é‚̂ł·‚ªB
418:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/30 06:10:04
>>417
>408
>>286‚̂悤‚ȃR[ƒh‚ÉC³‚µ‚½‚¢‚ÆŽv‚Á‚½‚̂ł·‚ªAqApp‚͂ǂ±‚Ŷ¬‚³‚ê‚Ä‚¢‚é‚à‚̂Ȃ̂łµ‚傤H
qApp‚ÍA/QTDIR/src/gui/kernel/qapplication.h“à‚Å’è‹`‚³‚ê‚Ä‚¢‚éƒ}ƒNƒ‚ÅA
ŽŸ‚̂悤‚ɂȂÁ‚Ä‚¢‚éB
#if defined(qApp)
#undef qApp
#endif
#define qApp (static_cast<QApplication *>(QCoreApplication::instance()))
ƒ}ƒNƒ‚Ȃ̂ŃRƒ“ƒpƒCƒ‹‚·‚é‘Oˆ—‚Æ‚µ‚ăvƒŠƒvƒƒZƒbƒT‚ªƒ\[ƒXƒR[ƒh‚É
qApp
‚ª‚ ‚邯A‚»‚Ì•”•ª‘S‚Ä‚ð
static_cast<QApplication *>(QCoreApplication::instance())
‚Éiƒ\[ƒXƒR[ƒh‚Æ‚µ‚Äj’u‚«Š·‚¦‚Ä‚‚ê‚éB
‚‚܂èAƒ\[ƒXƒR[ƒh‚ÉqApp‚Æ‘‚¢‚½‚çA‚»‚±‚Éstatic_cast<QApplication *>(QCoreApplication::instance())
‚Æ‘‚¢‚½‚±‚ƂƓ¯‚¶‚±‚ƂɂȂéB
‚»‚ê‚ÅA‚±‚ÌQCoreApplication::instance()‚ÍA‰½‚©‚ÆŒ¾‚¤‚ÆAQApplication‚ÌŠî’êƒNƒ‰ƒX‚ÌQCoreApplication‚Å
’è‹`‚³‚ê‚Ä‚¢‚éstatic‚ÈŠÖ”‚ÅAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Cƒ“ƒXƒ^ƒ“ƒXiŽÀ—áFƒƒ‚ƒŠ[ã‚ÉŽÀÛ‚ÉŠm•Û‚³‚ꂽ•Ï”j‚ðŽw‚·ƒ|ƒCƒ“ƒ^[‚ð•Ô‚·B
‚‚܂èAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽw‚·ƒ|ƒCƒ“ƒ^[‚ð•Ô‚·B
419:418
09/10/30 06:11:41
>>417
QApplication‚ÌqApp [Macro]
URLØÝ¸(doc.trolltech.com)
QCoreApplication‚Ìinstanc() [static]
URLØÝ¸(doc.trolltech.com)
>‚±‚̂悤‚ÈŠ´‚¶‚Å‚·Bi¡Œ©‚邯a, w‚Æ‚©“K“–‚ȕϔ–¼BBj
ŒÂl“I‚Ȉӌ©‚¾‚¯‚ÇAŽ©•ª‚¾‚¯‚ŃvƒƒOƒ‰ƒ€‚·‚é‚̂ȂçA‚Ç‚ñ‚È–¼‘O‚Å‚à‚¢‚¢‚ñ‚¶‚á‚È‚¢‚©‚ÈB
‚Ü‚½AŠÈ’P‚È“®ìƒ`ƒFƒbƒN‚È‚ñ‚©‚̂Ƃ«‚ȂǂÍA‚¢‚¿‚¢‚¿–¼‘O‚È‚ñ‚Äl‚¦‚Ä‚ç‚ê‚È‚¢‚µB
‚Å‚àAƒvƒƒWƒFƒNƒg‚Æ‚©‚ÉŽQ‰Á‚µ‚ÄAƒl[ƒ~ƒ“ƒO‹K–ñ‚ª‚ ‚é‚̂Ȃç‚΂»‚ê‚É]‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢‚µA
‘¼‚Ìl‚ªŒ©‚é‚à‚Ì‚ÍA‚ ‚é’ö“x‚í‚©‚è‚â‚·‚‚µ‚½•û‚ª‚æ‚¢‚ÆŽv‚¤B
‚»‚µ‚ÄA‚»‚Ìh‘¼‚Ìlh‚Æ‚¢‚¤‚Ì‚ÍA””NŒã‚ÌŽ©•ª‚Å‚ ‚é‰Â”\«‚ª‚ ‚éB
‚»‚¤‚·‚ê‚Ή½”N‚à‘O‚É‘‚¢‚½A‹K–͂̑傫‚¢A‚à‚¤“à—e‚ð–Y‚ê‚Ä‚µ‚Ü‚Á‚½ƒR[ƒh‚ðŒ©‚½‚Æ‚«‚ÉA‚Ç‚ñ‚Ȉ—‚ð‚µ‚Ä‚¢‚é‚©”cˆ¬‚·‚邽‚ß‚Ì
Žè•‚¯‚ɂȂéB
‚¾‚©‚ç•’i‚©‚çA‚ ‚é’ö“x‚͂킩‚è‚â‚·‚¢–¼‘O‚ð•t‚¯‚é•È‚ð•t‚¯‚Ä‚¨‚¢‚½•û‚ª‚¢‚¢‚ÆŽv‚¤B
ŒÂl“I‚Ȉӌ©‚¾‚©‚ç‹C‚Éá‚Á‚½‚炲‚ß‚ñB
420:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/30 20:43:18
QtCreator‚ª“®‚©‚ñAƒnƒ“ƒOƒAƒbƒv‚·‚écc‚Æ–ãX‚Æ‚µ‚Ä‚½‚ªAvastØ‚Á‚½‚ç‰ü‘P‚³‚ꂽB‰½ŒÌB
”Y‚Þl‚ª‚¢‚é‚©‚à‚µ‚ê‚È‚¢‚©‚çŽQl‚܂łÉcc
421:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/30 21:33:21
>418
Ú‚µ‚à–¾‚µ‚Ä‚¢‚½‚¾‚«‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
•Ï”–¼‚ɂ‚¢‚Ăł·‚ªA‚½‚Ô‚ñMainWindow‚Ìexample‚Ìmain.cpp‚ð
‚»‚̂܂܎‚Á‚Ä‚«‚½‹C‚ª‚µ‚Ü‚·B
Ž©•ª‚Å‘‚‚È‚çAƒ‹[ƒv•Ï”A‹ÇŠ“I‚ȃeƒ“ƒ|ƒ‰ƒŠ•Ï”ˆÈŠO‚Éˆê•¶Žš
‚Æ‚¢‚¤‚̂͂ ‚Ü‚èŽg‚¢‚Ü‚¹‚ñB
‚¿‚Ȃ݂ÉAQt‚͉‚߂ĊԂà‚È‚¢‚Å‚·BMFC‚Æ‚©C++/CLI‚Æ‚©Žï–¡‚Å‚â‚Á‚Ä‚¢‚Ü‚µ‚½‚ªA
‚Ç‚¿‚ç‚à’†“r”¼’[‚È‹C‚ª‚µ‚Ä‚¨‚èAƒ}ƒ‹ƒ`ƒvƒ‰ƒbƒgƒtƒH[ƒ€‚Ńˆ‚ÈC++‚Å‚ ‚éQt‚É
‹»–¡‚ðŽ‚Á‚½ŽŸ‘æ‚Å‚·B
422:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/30 22:21:39
>>421
>•Ï”–¼‚ɂ‚¢‚Ăł·‚ªA‚½‚Ô‚ñMainWindow‚Ìexample‚Ìmain.cpp‚ð
>‚»‚̂܂܎‚Á‚Ä‚«‚½‹C‚ª‚µ‚Ü‚·B
>Ž©•ª‚Å‘‚‚È‚çAƒ‹[ƒv•Ï”A‹ÇŠ“I‚ȃeƒ“ƒ|ƒ‰ƒŠ•Ï”ˆÈŠO‚Éˆê•¶Žš
>‚Æ‚¢‚¤‚̂͂ ‚Ü‚èŽg‚¢‚Ü‚¹‚ñB
Œ¾‚¢‰ß‚¬‚½‹C‚ª‚·‚é‚Ì‚ÅAŽÓ‚è‚Ü‚·B‚²‚ß‚ñ‚È‚³‚¢B
>‚¿‚Ȃ݂ÉAQt‚͉‚߂ĊԂà‚È‚¢‚Å‚·BMFC‚Æ‚©C++/CLI‚Æ‚©Žï–¡‚Å‚â‚Á‚Ä‚¢‚Ü‚µ‚½‚ªA
>‚Ç‚¿‚ç‚à’†“r”¼’[‚È‹C‚ª‚µ‚Ä‚¨‚èAƒ}ƒ‹ƒ`ƒvƒ‰ƒbƒgƒtƒH[ƒ€‚Ńˆ‚ÈC++‚Å‚ ‚éQt‚É
>‹»–¡‚ðŽ‚Á‚½ŽŸ‘æ‚Å‚·B
‚Ç‚Á‚Õ‚è‚ÆQt‚Ì¢ŠE‚ɂ‚©‚Á‚Ä‚‚¾‚³‚¢B
‚±‚ê‚à‚¨‚¹‚Á‚©‚¢‚©‚à(^_^;)B
423:403
09/10/31 00:11:27
>422
„Œ¾‚¢‰ß‚¬‚½‹C‚ª‚·‚é‚Ì‚ÅAŽÓ‚è‚Ü‚·B‚²‚ß‚ñ‚È‚³‚¢B
‘S‚‹C‚É‚µ‚Ä‚¨‚è‚Ü‚¹‚ñ‚æw
‚¿‚Ȃ݂ÉA>286‚̂悤‚ÉQApplication‚Ì”h¶ƒNƒ‰ƒX(Application)‚ÉgetMainWindow()‚Æ‚¢‚¤
MainWindow‚̃|ƒCƒ“ƒ^‚ðŽæ“¾‚Å‚«‚éŠÖ”‚ð’ljÁ‚·‚éê‡A
MainWindow‚̃|ƒCƒ“ƒ^Ž©‘Ì‚ðƒZƒbƒg‚·‚é‚̂͂ǂ̂悤‚É‚·‚é‚à‚̂łµ‚傤‚©H
Ž©•ª‚ªl‚¦‚邯‚±‚ë‚Å‚ÍA”h¶ƒNƒ‰ƒXApplication‚ÉsetMainWindow(MainWindow* mainwindow);‚ð
’ljÁ‚µ‚ÄAmain()‚Å
{
Application app(argc, argv);
MainWindow mainwindow;
mainwindow.setMainWindow(&mainwindow);
mainwindow.show();
return app.exec();
}
‚Æ‚â‚é‚‚ç‚¢‚µ‚©Žv‚¢‚‚©‚È‚¢‚̂ł·B
424:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/31 00:33:56
>>423
‚»‚ê‚Å‚¢‚¢‚ÆŽv‚¤‚¯‚ÇB
>mainwindow.setMainWindow(&mainwindow);
app.setMainWindow(&mainwindow);
‚¾‚ËB
425:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/31 08:35:26
>424
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
„app.setMainWindow(&mainwindow);
easy miss‚Å‚µ‚½B
‚¿‚Ȃ݂ÉQApplication‚Ì”h¶ƒNƒ‰ƒX‚ðì‚éÛ‚É‹C‚ð‚‚¯‚邱‚Æ‚Á‚Ä
‚ ‚è‚Ü‚·‚©H
ƒŠƒ“ƒJ‚©‚ç
undefined reference to vtable for Application
‚Æ“{‚ç‚ê‚Ü‚µ‚½B(Application‚ÍQApplication‚Ì”h¶)
ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Í
Application::Application(int argc, char* argv[]) : QApplication(argc, argv) {}
‚Æ‚µ‚Ä‚¨‚è‚Ü‚·B
426:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/31 08:43:13
>425
Ž©ŒÈ‰ðŒˆ‚µ‚Ü‚µ‚½B
URLØÝ¸(randt.jp)
qmake‚ðÄŽÀs‚µ‚ÄƒŠƒrƒ‹ƒh‚µ‚½‚ç‘åä•v‚Å‚µ‚½B
‚·‚×‚ÄƒŠƒrƒ‹ƒh‚Í‚â‚Á‚Ä‚¢‚½‚̂ł·‚ªAqmake‚ÌÄŽÀs‚Í‚·‚×‚ÄƒŠƒrƒ‹ƒh‚É
“ü‚Á‚ĂȂ¢‚Ì‚©B
427:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/31 09:21:01
>>425 >Application::Application(int argc, char* argv[]) : QApplication(argc, argv) {} Application::Application(int &argc, char* argv[]) : QApplication(argc, argv) {}
428:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/31 15:13:45
>>425
> ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Í
> Application::Application(int argc, char* argv[]) : QApplication(argc, argv) {}
> ‚Æ‚µ‚Ä‚¨‚è‚Ü‚·B
Application::Application(int &argc, char* argv[]) : QApplication(argc, argv) {}
&argc ‚Æ‚µ‚È‚¢‚Æ—Ž‚¿‚邱‚Æ‚ª‚ ‚è‚Ü‚·B
429:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/10/31 23:10:50
>428
QApplication‚ÌƒŠƒtƒ@ƒŒƒ“ƒX‚ðŒ©‚é‚ÆAƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Íargc‚ªŽQÆŒ^‚Ȃ̂ł·‚ËB
‚²Žw“E‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
430:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/03 19:37:10
QFileDialog‚ÅAƒ_ƒCƒAƒƒO‚݂̂̃tƒBƒ‹ƒ^‚Á‚ÄŠ|‚¯‚ç‚ê‚Ü‚·‚©H
431:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/03 20:45:42
>>430
ˆÓ–¡‚ª•ª‚©‚ç‚È‚¢‚ñ‚¾‚¯‚ÇB
‹ï‘Ì“I‚ÉŒ¾‚¤‚Ƃǂ¤‚¢‚¤‚±‚Æ?
432:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/03 20:55:18
>>430
Ž¿–₵‚Ä‚¢‚é‚Ì‚ÍAƒtƒ@ƒCƒ‹‚̃tƒBƒ‹ƒ^‚¶‚á‚È‚¢‚æ‚Ë?
433:430
09/11/03 21:05:32
‚¦‚Á‚ÆA‚·‚¢‚Ü‚¹‚ñ
‚w@ƒ_ƒCƒAƒƒO
›@ƒfƒBƒŒƒNƒgƒŠ
‚Å‚µ‚½
434:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/03 21:38:34
>>433
ƒfƒBƒŒƒNƒgƒŠ‚̃tƒBƒ‹ƒ^‚͂ł«‚邿B
staticŠÖ”‚ÌgetExistingDirectory()‚ðŽg—p‚·‚é‚©AƒIƒvƒVƒ‡ƒ“‚Æ‚µ‚ÄQFileDialog::ShowDirsOnly‚ð
Žw’è‚·‚ê‚΂悢B
ŽQlF
URLØÝ¸(doc.trolltech.com)
435:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/03 22:03:56
QMainWindow‚Åshow()‚ªŽÀs‚³‚ê‚é’¼‘O‚ɌĂ΂ê‚éƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚͂Ȃ¢‚Å‚µ‚傤‚©H
ˆÈ‰º‚̃\[ƒX‚ÅAˆø”‚‚«‚ÅŽÀs‚³‚ꂽê‡(argc>1)‚̈ø”‚̈—‚ðMainWindow“à‚Å
‚µ‚½‚¢‚Æl‚¦‚Ä‚¢‚Ü‚·B
int main(int argc, char *argv[])
{
Application app(argc, argv);
MainWindow mainwindow;
mainwindow.show();
return app.exec();
}
436:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/03 22:25:04
>>435
show()‚ðŒã‚©‚çƒR[ƒ‹‚·‚ê‚΂¢‚¢‚¾‚¯‚È‚ñ‚¶‚á‚È‚¢?
437:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/03 22:42:10
>436
‚½‚µ‚©‚É‚»‚ê‚Å‚à‰Â”\‚Å‚·B
iMainWindow‚̃Rƒ“ƒXƒgƒ‰ƒNƒ^‚ň—‚µ‚Ä‚à—Ç‚¢‚Æ‚àŽv‚¢‚Ü‚·j
‚ ‚ÆAmain()‚É‚ ‚܂肽‚‚³‚ñ‹Lq‚µ‚½‚‚È‚¢‚È‚Ÿ‚Æ‚¢‚¤‚‚܂ç‚È‚¢——R‚Å‚à‚ ‚è‚Ü‚·B
MFC‚â.NET‚ŃtƒH[ƒ€‚Æ‚©ƒ_ƒCƒAƒƒO‚ª¶¬‚³‚ꂽ‚Æ‚«‚ÉA
ˆê“x‚¾‚¯ŒÄ‚΂ê‚éŠÖ”‚ª‚ ‚Á‚½‚Ì‚ÅAQt‚Å‚à‚»‚̂悤‚È‚à‚Ì‚ª
‚ ‚é‚Ì‚©‚ȂƎv‚¢A‚¨Žf‚¢‚µ‚Ü‚µ‚½B
438:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/03 22:46:01
QMainWindow ‚ðŒp³‚µ‚Ä MainWindow ‘n‚Á‚½‚ñ‚È‚ç
MainWindow::show() ‚Ì’†‚Å
hogehoge;
this->show();
‚Æ‚·‚ê‚΂悩‚낤
439:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/03 22:57:55
>>437
‚»‚̈—‚ð‚·‚éƒƒ“ƒo[ŠÖ”‚ð’è‹`‚µ‚ÄA‚»‚̃ƒ“ƒo[ŠÖ”‚ðƒRƒ“ƒXƒgƒ‰ƒNƒ^[‚©‚çƒR[ƒ‹‚·‚ê‚΂¢‚¢‚̂ł͂Ȃ¢‚©‚ÈB
‚»‚µ‚ÄA‚»‚̃ƒ“ƒo[ŠÖ”‚©‚çshow()‚ðƒR[ƒ‹‚·‚ê‚΂¢‚¢B
‚ ‚é‚¢‚ÍAƒƒCƒ“‚ÉQObject‚ðŒp³‚µ‚½ƒJƒXƒ^ƒ€ƒNƒ‰ƒXPreprocess‚̃IƒuƒWƒFƒNƒg‚ðì‚Á‚Ä‚»‚ê‚Ɉø”‚ɑ΂·‚鈗‚ð‚³‚¹‚Ă͂ǂ¤?
‚»‚µ‚ÄA‚»‚̃IƒuƒWƒFƒNƒg‚̃VƒOƒiƒ‹‚ÆMainWindowƒIƒuƒWƒFƒNƒg‚Ìshow()ƒXƒƒbƒg‚ł‚Ȃ°‚邯‚©H
440:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/03 23:18:13
>>435
ˆ—‚Ì“à—e‚É‚à‚æ‚é‚Ì‚©‚à‚µ‚ê‚È‚¢‚¯‚ê‚ÇAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃JƒXƒ^ƒ€ƒNƒ‰ƒX‚Å
ƒRƒ}ƒ“ƒhˆø”‚ɑ΂·‚鈗‚ð‚µ‚½‚Ù‚¤‚ªŽ©‘R‚È‹C‚ª‚·‚邯‚ÇB
441:430
09/11/04 07:09:52
>>434
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
442:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/04 08:14:05
EEE–³ŒÀƒ‹[ƒvH
443:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/05 10:19:59
Ž-ute‚̃tƒ@ƒ“‚¾‚©‚çA‚p‚”Žg‚¤‚±‚Ƃɂµ‚悤‚©‚ÈHi@EƒÖEj‚™„Ÿ„®``
444:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/05 22:52:16
‚Çcc‚Ç‚¤‚ÄH
445:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/07 14:55:22
Qt‚̂Ȃé‚ׂV‚µ‚¢“ú–{ŒêƒhƒLƒ…ƒƒ“ƒg‚Á‚Ăǂê‚Å‚µ‚傤‚©H
4‚Ý‚½‚¢‚¾‚¯‚ÇA‚ ‚Ü‚è“ú–{Œê‰»‚³‚ê‚Ä‚¢‚È‚¢B
URLØÝ¸(qt.linux-life.net)
Œ‹\“ú–{Œê‰»‚³‚ê‚Ä‚¢‚邯‚ÇA2.3.2B
URLØÝ¸(www.kde.gr.jp)
‚±‚ê‚®‚ç‚¢‚Å‚µ‚傤‚©‚Ë‚¥B
446:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/07 15:12:29
‚«‚Á‚Æ”ñŒöŽ®‚̂͊ú‘Ò‚µ‚ĂȂ¢‚ñ‚¾‚æ‚Ë
447:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/07 15:36:12
‚¢‚¦A”ñŒöŽ®‚Ì‚Å‚à‚¢‚¢‚Å‚·B
448:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/07 22:57:41
Qt‚̳‹K•\Œ»‚ÅÅ’Zˆê’v‚ð•\Œ»‚µ‚½‚¢‚̂ł·‚ªA‚Ç‚¤‚µ‚½‚ç‚¢‚¢‚̂łµ‚傤‚©B
Perl5‚Å‚Í(.+?)‚Åo—ˆ‚é‚»‚¤‚Ȃ̂ł·‚ªAQt‚Å‚Ío—ˆ‚È‚¢‚悤‚Å‚µ‚½B
Key=Value
‚ÅAValue‚É=‚ªŠÜ‚Ü‚ê‚éꇂÉAKey‘¤‚ðÅ’Z‚É‚µ‚½‚¢‚Å‚·B
³‹K•\Œ»Žg‚í‚È‚¢•û–@‚à‚ ‚è‚Ü‚·‚ªA³‹K•\Œ»Žg‚Á‚ăVƒ“ƒvƒ‹‚ÉŽÀ‘•‚µ‚½‚¢‚Å‚·B
449:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/07 23:22:49
perl‚Ì«Ší•\Œ»‚ð•W€‚¾‚ÆŽv‚í‚È‚¢•û‚ª—Ç‚¢
½ÚØÝ¸(unix”Â)
½ÚØÝ¸(tech”Â)
½ÚØÝ¸(tech”Â)
450:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/07 23:37:33
Å’Zƒ}ƒbƒ`‚É‚µ‚½‚¢‚È‚çQRegExp::setMinimal(true);
‚½‚¾(.+)‚àÅ’Zƒ}ƒbƒ`‚ɂȂÁ‚½‚Í‚¸
451:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/08 00:05:34
449,450@‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚·‚݂܂¹‚ñAQRegExp::setMinimal(true); ‚àŽŽ‚µ‚Ä‚¾‚ß‚¾‚Á‚½‚Ì–Y‚ê‚Ă܂µ‚½B
Key=Value ‚ð
QRegExp rxKey("^(.+)=(.*)$");
rxKey.setMinimal(true)
‚Æ‚â‚Á‚Ä‚àAKey‘¤‚ɃCƒR[ƒ‹‚ª“ü‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B
452:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/08 00:39:09
QRegExp rxKey("^(.+)=(.*)$");
rxKey.setMinimal(true);
rxKey.indexIn("Key=Value\n");
qDebug() << rxKey.cap(1);
•’ʂɂ±‚ê‚ÅØ‚èo‚¹‚邯‚Ç
453:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/08 00:46:16
QRegExp rxKey("^([^=]+)=(.*)$");
‚¶‚Ⴞ‚ß?
setMinimal ‚Í‘S‘Ì‚ðÅ’Z‚É‚·‚邾‚¯‚ÅAŠe—v‘f‚ðÅ’Z‚łƂé‚킯‚ł͂Ȃ¢‚Á‚Û‚¢‚ÈB
454:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/08 09:54:35
URLØÝ¸(qt.gitorious.org)
‚̃y[ƒW‚É‚ ‚é—l‚Égit‚Å
git clone git://gitorious.org/qt/qt.git
Qt‚𗎂Ƃµ‚Ä‚«‚½‚çA‚È‚º‚©ƒCƒ“ƒXƒg[ƒ‹æ‚ª
/usr/local/Trolltech/Qt-4.7.0
‚ɂȂÁ‚Ä‚½
cc4.6.0beta‚̃nƒY‚È‚ñ‚¾‚¯‚Ç
455:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/08 12:08:34
QImage‚Æ‚©QPixmap‚ðŽg‚¤‚Æ‚«‚ÉAQPixmap::fromImage(const QImage&)‚ª’l“n‚µ‚ŕԂÁ‚Ä‚‚é‚̂ł·‚ªA
“ü—Í‚ÌQImage‚Æo—Í‚ÌQPixmap‚Í•ÊX‚̗̈æ‚ÉŠm•Û‚³‚ê‚é‚ñ‚Å‚µ‚傤‚©H
Implicitly Shared Classes‚̘b‚ª‚»‚¤‚Ȃ̂¾‚ÆŽv‚¤‚̂ł·‚ªA‚¢‚Ü‚¢‚¿—‰ð‚Å‚«‚È‚‚ÄB
QImage img1, img2;
img1.load(filename);
img2 = img1;
‚Ý‚½‚¢‚ÉŽg‚Á‚Ä‚à–â‘è‚È‚¢‚Æ‚¢‚¤‚±‚ƂȂ̂łµ‚傤‚©B
‚¢‚¿‚¢‚¿ƒ|ƒCƒ“ƒ^‚ðŽg‚¤‚à‚̂ł͂Ȃ¢‚Å‚·‚©H
456:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/08 14:22:05
URLØÝ¸(gihyo.jp)
457:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/08 14:27:40
>>455
>>456‚ÌuŽqƒEƒBƒWƒFƒbƒg‚ÌŽ©“®ƒƒ‚ƒŠ‰ð•ú‚ÉŠÖ˜A‚µ‚Ä`v •Ó‚è‚ðB
>Implicitly Shared Classes‚̘b‚ª‚»‚¤‚Ȃ̂¾‚ÆŽv‚¤‚̂ł·‚ªA‚¢‚Ü‚¢‚¿—‰ð‚Å‚«‚È‚‚ÄB
‚»‚Ì’Ê‚è‚ÅISC‚ªŠÖ˜A‚µ‚Ü‚·B
>‚Ý‚½‚¢‚ÉŽg‚Á‚Ä‚à–â‘è‚È‚¢‚Æ‚¢‚¤‚±‚ƂȂ̂łµ‚傤‚©B
–â‘è‚È‚¢‚Å‚·B
>‚¢‚¿‚¢‚¿ƒ|ƒCƒ“ƒ^‚ðŽg‚¤‚à‚̂ł͂Ȃ¢‚Å‚·‚©H
ƒ|ƒCƒ“ƒ^‚ðŽg‚í‚È‚¢‚悤‚É‚·‚é‚à‚̂ł·B
458:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/08 15:02:31
>457
ƒŒƒX‚ ‚肪‚Æ‚¤B
‰¼‚ÉA
QImage img1, img2;
img1.load(hoge1);
img2.load(hoge2);
img2 = img1;
‚Æ‚µ‚½ê‡Aimg2‚ÍAhoge2‚̉摜ƒf[ƒ^‚ðŽ©“®‚Å“à•”delete‚µ‚ÄA
img2‚àimg1‚àhoge1‚̉摜‚ðŽw‚·‚悤‚ɂȂé‚ñ‚Å‚·‚æ‚ËH
‚»‚µ‚ÄAimg1‚©img2‚Ç‚¿‚ç‚©‚ɉ½‚ç‚©‚Ì‘€ì‚ªs‚í‚ꂽê‡A‰‚ß‚Äimg1‚̃f[ƒ^‚ªimg2‚Æ
•ÊX‚̗̈æ‚É‚È‚é‚æ‚¤‚Éi“à•”‚̉摜ƒf[ƒ^ƒRƒ“ƒeƒi‚¾‚¯‚¾‚ÆŽv‚¤‚ªjA— ‚ŃRƒs[ˆ—‚ªs‚í‚ê‚é
‚Æ‚¢‚¤—‰ð‚Å—Ç‚¢‚̂łµ‚傤‚©B
459:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/08 15:35:14
>>458
‚»‚Ì’Ê‚è‚Å‚·B
460:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/08 19:13:58
>>454
masterŒn‚̃uƒ‰ƒ“ƒ`‚ÍŠù‚É4.7Œü‚¯‚ɂȂÁ‚Ä‚éB
4.6Œn‚̃\[ƒX‚ª—~‚µ‚¢‚È‚ç 4.6 / 4.6-stable “™‚Ì
4.6Œn‚̃uƒ‰ƒ“ƒ`‚ð checkout ‚·‚é•K—v‚ª‚ ‚éB
461:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 00:54:58
ƒCƒxƒ“ƒg‚ðŽó‚¯Žæ‚Á‚½‚Æ‚«‚ÉAQLabel‚̃eƒLƒXƒg‚ÌF‚ð•ω»‚³‚¹‚½‚¢‚̂ł·‚ªA
‚ǂ̂悤‚ɕς¦‚ê‚΂¢‚¢‚̂łµ‚傤‚©H
462:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 01:05:29
Q_SLOTS‚Á‚ĂȂÉH
463:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 03:12:57
>>461
‚½‚Æ‚¦‚΂±‚ñ‚ÈŠ´‚¶
QPalette labelPalette = label->palette();
labelPalette.setColor(QPalette::WindowText, Qt::red);
label->setPalette(labelPalette);
464:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 03:57:13
>>462
QtˆÈŠO‚̃‰ƒCƒuƒ‰ƒŠ‚ÅQt‚ÌhƒVƒOƒiƒ‹‚ƃXƒƒbƒgh‚Æ“¯—l‚Ì‹@”\‚ª‚ ‚èA
‚»‚̃‰ƒCƒuƒ‰ƒŠ‚Åslots‚Ä‚¢‚¤ƒL[ƒ[ƒh‚ªŽg—p‚³‚ê‚Ä‚¢‚邿‚¤‚ȂƂ«‚ÉŽg—p‚·‚éB
‚±‚̃}ƒNƒ‚Íboostƒ‰ƒCƒuƒ‰ƒŠ‚ÆQt‚ðˆê‚ÉŽg—p‚Å‚«‚邿‚¤‚É‚·‚邽‚ß‚ÉA
Qt4.1‚Å“±“ü‚³‚ꂽB
‚¢‚‚à‚Í
public slots:
‚ȂǂƑ‚¢‚Ä‚¢‚éQt‚̃Xƒƒbƒg•”•ª‚É
public Q_SLOTS:
‚Æ‘‚¯‚΂悢B
‚Ù‚©‚É‚àAQ_SIGNALSAQ_SIGNALAQ_SLOTAQ_EMIT‚ª‚ ‚éB
URLØÝ¸(qt.nokia.com)
465:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 10:24:40
>>463
‚ ‚肪‚Æ‚¤o—ˆ‚½B
label‚©‚çQPaletteŽæ‚èo‚¹‚Ηǂ©‚Á‚½‚Ì‚©B
‚½‚¾AƒfƒoƒbƒOƒrƒ‹ƒh‚¾‚ÆF•Ï‚¦‚½Žž‚Ƀ‰ƒ“ƒ^ƒCƒ€ƒGƒ‰[o‚é‚Ì‚ÉA
ƒŠƒŠ[ƒXƒrƒ‹ƒh‚¾‚Æ‚·‚ñ‚Ȃ蓮‚¢‚½‰½ŒÌ‚È‚ñ‚¾EEEB
466:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 13:40:34
>>464
ƒIƒ}ƒGAƒCƒCƒ„ƒc
467:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 17:46:02
Phonon‚Á‚Ä‚³AWindows‚Å‚ÍDirectXAMacOSX‚Å‚ÍQuickTimeALinux‚Å‚ÍGStreamer‚¾‚¯‚ðŽg‚¤‚ÌH
‚¢‚ë‚¢‚ë’²‚ׂ邯APhononŽ©‘Ì‚ÍWindows‚ÅVLCƒoƒbƒNƒGƒ“ƒh‚Æ‚©MPlayerƒoƒbƒNƒGƒ“ƒh‚ðŽg‚¦‚é‚Ý‚½‚¢‚È‚ñ‚¾‚¯‚ÇA
qt‚©‚ç‚¶‚á•Ï‚¦‚é•û–@‚ª‚ ‚é‚Ì‚©‚È‚¢‚Ì‚©‚æ‚‚í‚©‚ñ‚È‚¢B
‚½‚Ü‚ÉDirectX‚̃R[ƒfƒbƒN‚¶‚Ⴄ‚Ü‚‚¢‚©‚È‚¢‚±‚Æ‚ª‚ ‚é‚©‚çA
ƒvƒŒƒCƒ„[‚©‚çVLCŽg‚Á‚ÄĶ‚Æ‚©MPlayerŽg‚Á‚ÄĶ‚Æ‚©‚µ‚½‚©‚Á‚½‚ñ‚¾‚¯‚ÇB
qt‚Í’P‚ÉPhonon‚ð—˜—p‚µ‚Ä‚¢‚邾‚¯B‚¾‚¯‚Çqt‚ª—˜—p‚µ‚Ä‚¢‚éPhonon‚É
Windows‚¾‚ÆADirectXˆÈŠO‚̃oƒbƒNƒGƒ“ƒhƒTƒ|[ƒgƒvƒ‰ƒOƒCƒ“‚ð‰Á‚¦‚ĂȂ¢‚Á‚Ä‚±‚ƂȂ̂©‚È‚ŸH
—‹üã‚ÍAVLC or MPlayerƒTƒCƒg‚Å”z•z‚³‚ê‚Ä‚¢‚éphonon-backend‚ð‰Á‚¦‚Ä
qt‚ÌSDK‚ðăRƒ“ƒpƒCƒ‹‚·‚邯Žg‚¦‚邿‚¤‚É‚È‚é‚Æ‚¢‚¤˜b‚Ȃ̂¾‚낤‚©H
468:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 17:54:05
‚¨A‚¿‚å‚Á‚Ƃ킩‚Á‚½B
QT‚̃‰ƒCƒuƒ‰ƒŠ‚Ì’†‚Éplugins\phonon_backend‚Á‚ăfƒBƒŒƒNƒgƒŠ‚ª‚ ‚Á‚Ä
‚»‚±‚ÉAphonon_ds94.dll‚Æ‚©‚ ‚Á‚½B
‚à‚µVLCƒoƒbƒNƒGƒ“ƒh‚ðŽg‚¤‚Æ‚µ‚½‚çphonon_vlc.dllH‚Æ‚©‚¢‚¤ƒtƒ@ƒCƒ‹‚ð“ü‚ê‚é‚킯‚¾‚ÈB
‚±‚ê‚ðì‚ê‚é‚Ì‚©‚Ç‚¤‚©A‚Ç‚¤‚â‚Á‚Äì‚é‚Ì‚©Aì‚Á‚½Œã‚ÌØ‚è‘Ö‚¦•û‚Í‚µ‚ç‚È‚¢‚¯‚ÇB
‚¿‚Ȃ݂ÉA‘¼‚É‹»–¡‚ª‚ ‚él‚Ì‚½‚ß‚Éà–¾‚µ‚Ä‚¨‚‚ÆAphonon_backend‚Í
MSVCŽg‚Á‚ÄŽ©•ª‚ŃRƒ“ƒpƒCƒ‹‚µ‚½‚â‚‚ɂµ‚©‚È‚¢B‚‚܂蕒ʂɔz•z‚³‚ê‚Ä‚¢‚émingw”łɂ͑¶Ý‚µ‚È‚¢B
mingw”łłÍDirectShow‚ ‚½‚肪ƒRƒ“ƒpƒCƒ‹‚Å‚«‚È‚¢‚©‚çPhononƒTƒ|[ƒg‚µ‚ĂȂ¢‚ñ‚¾‚ÆB
469:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 20:25:18
Phonon‚æ‚©4.6‚ÌV‹@”\‚ÉŠú‘Ò
VideoŠÖ˜A‚͂܂¾ƒXƒPƒ‹ƒgƒ“ó‘Ô‚¾‚¯‚Ç‚ÈEEE
470:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 20:48:45
4.6‚ÌV‹@”\‚Á‚ĂȂÉH
471:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 21:54:14
>>470
URLØÝ¸(qt.nokia.com)
472:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/09 22:15:59
‚ [ÅV‚Ì“ú–{ŒêƒhƒLƒ…ƒƒ“ƒg‚ªŒ©‚½‚¢
473:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/10 11:38:55
4.6‚ÍQWebElement‚ÆQStateMachine‚ÉŒÂl“I‚ÉŠú‘Ò‚µ‚Ä‚¢‚é
474:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/10 16:31:14
Qt Creator‚Ì“ú–{Œê‰»‚·‚éŽè‡‚ɂ‚¢‚ÄA‚²‘¶‚¶‚Ì•û‚ª‚¢‚ç‚Á‚µ‚á‚¢‚Ü‚µ‚½‚çŒä‹³Žö‚¨Šè‚¢‚¢‚½‚µ‚Ü‚·B
ŠÂ‹«‚͈ȉº‚Ì’Ê‚è‚Å‚·B
OS@Windows7@64bitӁ
Qt@qt-sdk-win-opensource-2009.04.exe
QtƒCƒ“ƒXƒg[ƒ‹æ@C:\Qt
475:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/10 21:13:57
>>474
URLØÝ¸(qt-creator-jp.sourceforge.jp)
‚±‚̃TƒCƒg‚É‘‚¢‚Ä‚ ‚é
wqtcreator_ja.qm ƒtƒ@ƒCƒ‹‚ð•¡»‚µ‚Ä
qt_ja_JP.qm ‚ÉƒŠƒl[ƒ€‚·‚鎖‚Å“ú–{Œê‰»‚³‚¹‚鎖‚à‰Â”\‚Å‚·Bx
Ž©•ª‚Íã‚Ì’Ê‚è‚É‚â‚Á‚½‚ç“ú–{Œê‰»‚³‚ꂽ
476:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/10 22:15:43
>475
ƒŒƒXŠ´ŽÓ‚Å‚·Bƒoƒbƒ`ƒŠ“ú–{Œê‰»‚³‚ê‚Ü‚µ‚½B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½III
477:ƒfƒtƒ@ƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/11 22:49:34
Ubuntu QtCreator
æ“úUbuntu9.10‚Ƀo[ƒWƒ‡ƒ“ƒAƒbƒv‚µ‚½‚çAƒ{ƒ^ƒ“‚̃eƒLƒXƒg‚É“ú–{Œê‚ªŽg‚¦‚È‚‚È‚è‚Ü‚µ‚½B
‚Ç‚¨‚µ‚ÄH
478:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/11 23:46:07
QToolTip‚Ńc[ƒ‹ƒ`ƒbƒv‚ÌÁ‚¦‚鎞ŠÔ‚ð§Œä‚Å‚«‚é•û–@‚Í‚ ‚é‚Å‚µ‚傤‚©H
mouseMoveEvent()‚Ńc[ƒ‹ƒ`ƒbƒv‚ð•\ަ‚µ‚Ä‚¢‚é‚̂ł·‚ªAƒ}ƒEƒX‚ðŽ~‚߂Ă¢‚Ä‚àA
ƒc[ƒ‹ƒ`ƒbƒv‚ð•\ަ‚³‚¹‚½‚܂܂ɂµ‚½‚¢‚̂ł·B
479:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/12 07:19:28
>>477
‚±‚¿‚ç‚ÍDebian GNU/Linux‚ÅAUbuntu‚Ì9.1‚̃pƒbƒP[ƒW‚ÌQt Creator1.2.1‚ð
ƒ_ƒEƒ“ƒ[ƒh‚µ‚ÄŽg‚Á‚Ă݂½‚¯‚ÇA‚¿‚á‚ñ‚Æ“ú–{Œê‚ª•\ަ‚Å‚«‚½‚æB
‚¤‚Ü‚‚¢‚©‚È‚¢‚悤‚È‚çANokia Development Frameworks‚̃EƒFƒuƒTƒCƒg‚©‚ç
ƒCƒ“ƒXƒg[ƒ‰[•t‚«‚ÌQt Creator1.2.1‚ªƒ_ƒEƒ“ƒ[ƒho‚«‚é‚©‚ç
‚»‚ê‚ð“ü‚ê‚Ă݂é‚Ì‚à‚¢‚¢‚ñ‚¶‚á‚È‚¢?
‚Å‚àAQt Creator‚ªŒ´ˆö‚ł͂Ȃ¢‚Æ‚«‚É‚ÍA“¯‚¶Çó‚ɂȂ邩‚à’m‚ê‚È‚¢‚¯‚ÇB
URLØÝ¸(qt.nokia.com)
480:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/12 18:47:11
>>478
‚à‚Á‚Æ‚¢‚¢ŽÀ‘•‚ª‚ ‚邯Žv‚¤‚¯‚ÇA‰º‹L‚̃R[ƒh‚ÅŽÀŒ»‰Â”\B
enterEvent()AleaveEvent()ƒnƒ“ƒhƒ‰[‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚ÄA
ƒ}ƒEƒXƒ|ƒCƒ“ƒ^[‚ªƒEƒBƒWƒbƒg‚Ì’†‚É‚ ‚é‚©‚Ç‚¤‚©‚ð•\‚·m_IsEntered‚Ì’l‚ðƒZƒbƒg‚µA
QTimer‚ðŽg‚Á‚ÄAƒAƒCƒhƒ‹Žž‚ÉQHelopEvent(QEvent::QToolTip,..)
‚ð”¶‚³‚¹‚Ä‚¢‚éB
‚»‚µ‚ÄAevent()ƒnƒ“ƒhƒ‰[‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚ÄAQHelpEvent‚Ìtype()‚ªQEvent::QToolTip‚ÌŽž‚ÉA
ƒc[ƒ‹ƒ`ƒbƒv‚ð•\ަ‚·‚邿‚¤‚É‚µ‚Ä‚¢‚éB
‰º‹L‚̃R[ƒh‚Å‚ÍA0.5•b–ˆ‚ÉQHelpEvent(QEvent::QToolTip,..)‚ð”¶‚³‚¹‚Ä‚¢‚éB
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
bool event(QEvent* event);
void enterEvent(QEvent* event);
void leaveEvent(QEvent* event);
void mouseMoveEvent(QMouseEvent* mouseEvent);
private slots:
void sendToolTipEvent();
private:
bool m_IsEntered;
QTimer* m_TipTimer;
};
481:480
09/11/12 18:48:20
‚‚«
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), m_IsEntered(false),
m_TipTimer(0)
{
setToolTip("Tooltip");
setMouseTracking(true);
m_TipTimer = new QTimer(this);
m_TipTimer->setInterval(0.5 * 1000);
connect(m_TipTimer, SIGNAL(timeout()), this, SLOT(sendToolTipEvent()));
resize(800, 500);
show();
}
bool MainWindow::event(QEvent* event)
{
QHelpEvent *helpEvent = static_cast<QHelpEvent*>(event);
if(helpEvent) {
if(helpEvent->type() == QEvent::ToolTip) {
QToolTip::showText(QCursor::pos(), toolTip());
return true;
}
}
return QWidget::event(event);
}
482:480
09/11/12 18:50:17
‚‚«
void MainWindow::enterEvent(QEvent* event)
{
m_IsEntered = true;
if(m_TipTimer and !m_TipTimer->isActive()) {
m_TipTimer->start();
event->accept();
}
QMainWindow::enterEvent(event);
}
void MainWindow::leaveEvent(QEvent* event)
{
if(m_TipTimer and m_TipTimer->isActive()) {
m_TipTimer->stop();
}
m_IsEntered = false;
event->accept();
QMainWindow::leaveEvent(event);
}
void MainWindow::mouseMoveEvent(QMouseEvent* mouseEvent)
{
Q_UNUSED(mouseEvent);
QToolTip::showText(QCursor::pos(), toolTip(), this, frameGeometry());
}
void MainWindow::sendToolTipEvent()
{
if(m_IsEntered == true) {
QHelpEvent toolTipEvent(QEvent::ToolTip, mapFromGlobal(QCursor::pos()), QCursor::pos());
QCoreApplication::sendEvent(this, &toolTipEvent);
}
}
483:480
09/11/12 18:54:22
’ù³Aevent()“à‚ÌshowText()‚̈ø”
ΑjQToolTip::showText(QCursor::pos(), toolTip());
³jQToolTip::showText(QCursor::pos(), toolTip(), this, frameGeometry());
484:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/12 19:44:15
ƒhƒ‰ƒbƒO•ƒhƒƒbƒv‚ðŽÀ‘•‚µ‚悤‚ÆŽv‚Á‚Ä‚¢‚é‚ñ‚¾‚¯‚ÇA
ƒEƒCƒ“ƒhƒE‚Éæ‚¹‚½ƒŠƒXƒgƒrƒ…[‚¾‚¯‚É”½‰ž‚³‚¹‚½‚¢B
‚±‚Ìê‡AƒŠƒXƒgƒrƒ…[‚ðŒp³‚µ‚½MyListview‚ðì‚ç‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Ì‚©‚ÈH
‚»‚ÌMyListview‚ðQt Creator‚ŃOƒ‰ƒtƒBƒJƒ‹‚ÉŽg‚¤‚½‚ß‚É
ƒpƒbƒP[ƒWH‚Ý‚½‚¢‚ȕςȂà‚Ì‚ðì‚ç‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Ì‚¾‚낤‚©H
485:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/12 20:35:57
>>484
>ƒhƒ‰ƒbƒO•ƒhƒƒbƒv‚ðŽÀ‘•‚µ‚悤‚ÆŽv‚Á‚Ä‚¢‚é‚ñ‚¾‚¯‚ÇA
>ƒEƒCƒ“ƒhƒE‚Éæ‚¹‚½ƒŠƒXƒgƒrƒ…[‚¾‚¯‚É”½‰ž‚³‚¹‚½‚¢B
>‚±‚Ìê‡AƒŠƒXƒgƒrƒ…[‚ðŒp³‚µ‚½MyListview‚ðì‚ç‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Ì‚©‚ÈH
ƒR[ƒh‚Å‘‚‚̂Ȃç‚ÎA‚»‚ꂪˆê”Ô‘f’¼‚È‹C‚ª‚·‚éB
‚ ‚Æ‚ÍAƒCƒxƒ“ƒgƒtƒBƒ‹ƒ^[‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚邯‚©B
Qt Creator‚ÌGUIƒtƒH[ƒ€ƒGƒfƒBƒ^AQt Desinger‚È‚ñ‚©‚ÅAŠù‚É”z’u‚µ‚½QListView‰½‚©‚É
ƒJƒXƒ^ƒ€‚ÈU‚é•‘‚¢‚ð’ljÁ‚µ‚½‚¢‚̂Ȃç‚ÎAuŠiã‚°v‚Ń\[ƒX‚ð’ljÁ‚·‚邱‚Æ‚ª‚Å‚«‚éB
ƒ\[ƒX‚ÍA’Êí‚̃JƒXƒ^ƒ€ƒNƒ‰ƒX‚𑂂悤‚ÉAƒwƒbƒ_‚ÆŽÀ‘•ƒtƒ@ƒCƒ‹‚ð—pˆÓ‚·‚éB
486:485
09/11/12 20:36:44
‚‚«
>‚»‚ÌMyListview‚ðQt Creator‚ŃOƒ‰ƒtƒBƒJƒ‹‚ÉŽg‚¤‚½‚ß‚É
>ƒpƒbƒP[ƒWH‚Ý‚½‚¢‚ȕςȂà‚Ì‚ðì‚ç‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Ì‚¾‚낤‚©H
‚±‚̈Ӗ¡‚ª‚æ‚•ª‚©‚ç‚È‚¢‚ñ‚¾‚¯‚ê‚Ç?
Qt‚É‚ÍAView/ModelƒtƒŒ[ƒ€ƒ[ƒN‚ƌĂ΂ê‚éView‚ª‚ ‚èA
‹ï‘Ì“I‚É‚ÍQTableViewAQTreeViewAQListView‚Ȃǂł ‚éB
‚±‚ê‚ç‚Í‚½‚Ô‚ñGUI‚ŃAƒCƒeƒ€‚Æ‚©‚Í”z’u‚Å‚«‚È‚¢B
‚±‚¿‚ç‚ÍAView-Control/Model‚ÆDelegate‚ð‘g‚݇‚킹‚ÄŽg—p‚·‚éB
_“î«‚ª‚‚¢Bˆê‚‚̃‚ƒfƒ‹‚ɑ΂µ‚Ä“ñ‚‚̃rƒ…[‚Å•\Œ»‚³‚¹‚½‚è‚Å‚«‚éB
‚¾‚¯‚ÇA‚¿‚å‚Á‚Æ‚µ‚½‚à‚Ì‚ð•\ަ‚·‚邾‚¯‚È‚ç
‰º‹L‚ÌView‚ðŽg—p‚·‚é‚Ì‚ª‚¢‚¢‚©‚à‚µ‚ê‚È‚¢B
‚à‚¤ˆê‚ÂQListWidgetAQTreeWidgetAQTableWidet‚Æ‚¢‚¤View‚ª‚ ‚èA
‚±‚¿‚ç‚ÍAƒAƒCƒeƒ€‚ðGUI‚Å”z’u‚Å‚«‚éi§ŒÀ‚Í‚ ‚邯‚ÍŽv‚¤‚¯‚ÇF‚ ‚Ü‚èŽg—p‚µ‚½‚±‚Æ‚ª‚È‚¢‚̂ł悒m‚ç‚È‚¢jB
‚±‚ê‚ç‚ÍAQt3‚É—pˆÓ‚³‚ê‚Ä‚¢‚½View‚Æ“¯—l‚Ì‹@”\‚ð’ñ‹Ÿ‚·‚éB
‘åŠT‚Ì‚à‚̂͂±‚ê‚ŊԂɇ‚¤‚Ì‚ÅA‚±‚¿‚ç‚ðŽg—p‚·‚é‚Ì‚à‚æ‚¢B
487:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/12 20:38:36
‚í‚©‚ç‚È‚¢‚È‚ç‰ð“€‚µ‚È‚¢‚Å‚‚¾‚³‚¢
488:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/12 20:41:31
ƒpƒbƒP[ƒWH‚Á‚Ă̂ÍA‚悤‚·‚é‚ÉMyListview‚ð
Qt Creator‚ÌGUIƒp[ƒc’u‚«ê‚É‹N‚«‚½‚¢‚Á‚ÄŽ–B
‚»‚±‚©‚çpush buttonŒ©‚½‚¢‚ɃtƒH[ƒ€‚Ƀhƒ‰ƒbƒO•ƒhƒƒbƒv‚µ‚Ä
‘å‚«‚³•Ï‚¦‚½‚èA‰E‚̃vƒƒpƒeƒBƒEƒCƒ“ƒhƒE‚Å‚¢‚¶‚ê‚邿‚¤‚É‚µ‚½‚¢‚Á‚Ä‚±‚ÆB
489:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/12 20:56:06
>>488
‚ ‚肪‚Æ‚¤B—‰ð‚Å‚«‚½B
490:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/13 06:22:27
>>488
Qt Designer‚̃vƒ‰ƒOƒCƒ“‚ðì‚ê‚΂ł«‚Ü‚·‚æB
URLØÝ¸(doc.trolltech.com)
491:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/13 06:28:50
>>486
> ‚à‚¤ˆê‚ÂQListWidgetAQTreeWidgetAQTableWidet‚Æ‚¢‚¤View‚ª‚ ‚èA
> ‚±‚¿‚ç‚ÍAƒAƒCƒeƒ€‚ðGUI‚Å”z’u‚Å‚«‚éi§ŒÀ‚Í‚ ‚邯‚ÍŽv‚¤‚¯‚ÇF‚ ‚Ü‚èŽg—p‚µ‚½‚±‚Æ‚ª‚È‚¢‚̂ł悒m‚ç‚È‚¢jB
> ‚±‚ê‚ç‚ÍAQt3‚É—pˆÓ‚³‚ê‚Ä‚¢‚½View‚Æ“¯—l‚Ì‹@”\‚ð’ñ‹Ÿ‚·‚éB
> ‘åŠT‚Ì‚à‚̂͂±‚ê‚ŊԂɇ‚¤‚Ì‚ÅA‚±‚¿‚ç‚ðŽg—p‚·‚é‚Ì‚à‚æ‚¢B
Q*Widget‚ÍA‚»‚̂܂܂̋@”\Žg‚¤‚¾‚¯‚È‚ç‚ÎAŽèŒy‚ÉŽg‚¦‚é‚Ì‚¾‚¯‚ê‚ÇA
—Ⴆ‚ÎA“à•”‚Ƀ‚ƒfƒ‹‚ð•ø‚¦‚Ä‚¢‚ÄA·‘Ö‚¦‚ª‚Å‚«‚È‚‚ċꂵ‚‚È‚Á‚½‚è‚·‚é‚Ì‚ÅA
‹@”\‚ð’ljÁ‚µ‚悤‚Æ‚¢‚¤‚È‚çA‚Å‚«‚邾‚¯Q*View‚ðŽg‚¤•û‚ª‚æ‚¢‚ÆŽv‚¤B
492:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/13 16:01:52
Model/View‚ðŽg‚¦‚é‚Ì‚Á‚ÄA
ListView/TreeView/TableView/ColumnView ‚ÌViewƒVƒŠ[ƒY‚̂ق©‚ɉ½‚ª‚ ‚é‚Ì‚©‚ÈH
ComboBox‚Å‚àŽg‚¦‚é‚Á‚Ă̂͂킩‚Á‚½B
‚Å‚àLabel‚âTextEdit‚ł͎g‚¦‚È‚¢‚Ì‚¾‚낤‚©H
ŋ߃f[ƒ^ƒx[ƒXŠÖŒW‚â‚Á‚ĂȂ¢‚©‚ç–Y‚ê‚Ä‚¢‚é‚ñ‚¾‚ªA
VisualStudio‚ÌADOŒ©‚½‚¢‚ÉAƒtƒB[ƒ‹ƒh‚ɘAŒ‹‚µ‚Ä
’l‚ð“ü‚ꂽ‚è•\ަ‚µ‚½‚è‚Á‚Ă̂ðŠÈ’P‚ɂł«‚È‚¢‚Ì‚¾‚낤‚©‚ÆŽv‚Á‚Ä‚¢‚é‚Ì‚¾‚ªB
Model‚©‚çƒVƒOƒiƒ‹‚ª”¶‚·‚邿‚¤‚Ȃ̂ÅA
‚»‚ê‚ðŽg‚Á‚ÄLabel‚âTextEdit‚ÉŽè“®‚Å“ü‚ê‚邯‚¢‚¤•û–@‚ª‚ ‚邯‚¢‚¤‚̂͂킩‚éB
‚½‚¾AsetModel‚Ý‚½‚¢‚Ƀ‚ƒfƒ‹‚ƘAŒ‹‚·‚邾‚¯‚łł«‚é•û–@‚ª‚ ‚é‚Ì‚©‚Æ‚¢‚¤˜bB
493:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/13 21:10:19
>>492
QDataWidgetMapper‚͂ǂ¤‚Å‚·‚©B
URLØÝ¸(doc.trolltech.com)
494:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/13 22:05:12
‚Ó‚¤A‚â‚Á‚ÆModel/View‚Ì‹ï‘Ì“I‚È‘‚«•û‚ª‚í‚©‚Á‚½B
u“ü–åQt4ƒvƒƒOƒ‰ƒ~ƒ“ƒOv‚Í•K{‚¾‚ÈB
QDataWidgetMapper‚Í‚±‚Ì–{‚ÉÚ‚Á‚ĂȂ¢‚È‚ŸEEE
‚Ï‚Á‚Ƃݖ]‚ñ‚¾‚à‚Ì‚Á‚Û‚¢‚̂łª‚ñ‚΂Á‚Ă݂éB
495:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/13 23:43:08
>480
ƒR[ƒh‚܂ő‚¢‚Ä‚‚ê‚Ä‚ ‚肪‚Æ‚¤B
ToolTip‚ɂ‚¢‚Ă悗‰ð‚Å‚«‚ĂȂ¢‚̂ł·‚ªA
QMainWindow::setToolTip()‚ðŽg‚Á‚½‚çŽv‚¢’Ê‚è‚Ì“®ì‚ɂȂÁ‚Ä‚‚ê‚Ü‚µ‚½B
496:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/14 00:16:56
y‰ÈŠwz“¹˜H‚ÉŒRŽè‚ª—Ž‚¿‚Ä‚¢‚郃PA–¼é‘匤‹†ƒ`[ƒ€‚ª“Ë‚«Ž~‚ß‚é[09/11/05]
½ÚØÝ¸(hidari”Â)
497:495
09/11/14 00:46:39
‚Å‚«‚½‚Å‚«‚½‚—
‘ã“üƒR[ƒh‘‚¢‚ĂȂ¢‚Ì‚ÉAQListView‚ÆQComboBox‚ÆQLineEdit‚ÆQLabel‚ª
‘S•”ˆê‚É•ÏX‚³‚ê‚é‚Ì–Ê”’‚¢‚Ë‚—
QLabel‚Ìê‡Amapper->addMapping(ui->label,0,"text");‚Á‚Ä
ŽO”Ԗڂ̈ø”‚É"text"‚ðŽw’肵‚È‚¯‚ê‚Ε\ަ‚³‚ê‚È‚©‚Á‚½‚̂ŒˆÓB
‚±‚ê‚ÅAGUIƒR[ƒh‚ðŒ¸‚ç‚µ‚ÄAGUI‚Ì•ÏX‚É‚à‹‚¢ƒR[ƒh‚ª‘‚¯‚é‚©‚ÈB
498:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/11/14 11:11:19
>>497
>QLabel‚Ìê‡Amapper->addMapping(ui->label,0,"text");‚Á‚Ä
>ŽO”Ԗڂ̈ø”‚É"text"‚ðŽw’肵‚È‚¯‚ê‚Ε\ަ‚³‚ê‚È‚©‚Á‚½‚̂ŒˆÓB
QLabel‚É‚ÍUSER‘®«‚ªtrue‚ȃvƒƒpƒeƒB‚ª‚È‚¢‚©‚ç‚Å‚·B
QLineEdit
Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged USER true)
QLabel
Q_PROPERTY(QString text READ text WRITE setText)
‚È‚¢——R‚ÍA
URLØÝ¸(doc.trolltech.com)
The USER attribute indicates whether the property is designated as the user-facing
or user-editable property for the class. Normally, there is only one USER property
per class (default false). e.g., QAbstractButton::checked is the user editable property
for (checkable) buttons. Note that QItemDelegate gets and sets a widget's USER property.
ŽŸƒy[ƒWÅVƒŒƒX•\ަƒXƒŒƒbƒh‚ÌŒŸõ—ÞŽ—ƒXƒŒˆê——˜b‘è‚̃jƒ…[ƒX‚¨‚Ü‚©‚¹ƒŠƒXƒg¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ‰É‚‚Ԃµ2ch
5240“ú‘O‚ÉXV/218 KB
’S“–:undef