如何選到我在QVboxLayout中的QPushbutton

喜歡程式設計嗎?想要一窺 KDE/Qt 程式設計的奧秘嗎?想要
學習 X Window 上的視窗程式設計嗎?歡迎各類關於 KDE/Qt、Qtopia、Qt/Embedded、QSA、PyQt 等各類心得討論。

版主: AceLan, Franklin

如何選到我在QVboxLayout中的QPushbutton

文章訪客 » 週二 5月 26, 2009 10:24 am

小弟我現在在寫用鍵盤替代滑鼠操作,但遇到一個問題
我想用鍵盤按下也發出按鈕的click訊號(signal)
QVBoxLayout *layout = new QVBoxLayout
QPushbutton *a = new QPushbutton;
QPushbutton *b = new QPushbutton;
layout->addWidget(a);
layout->addWidget(b);

void A::keyPessEvent(QKeyevent *k)
{
if(k->key()==Qt::Key_down)
++select;
layout->itemAt(select%2)->widget()->setPalette(QPalette(Qt::red));

}//類似這樣的架構
如今我用鍵盤的上下建已經可以讓按鈕順利變色,
如今我想讓鍵盤按下後也要有click的效果,請問要怎麼做?
Ps::我不想直接呼叫QPushButton->clicked();
想用:layout->itemAt(select%2)->widget()->setPalette(QPalette(Qt::red));選到CLICK,請問要怎麼做?
訪客
 

文章siyuan.nz » 週三 5月 27, 2009 6:47 pm

你打那麼長一串就為了取 a 和 b,不會嫌麻煩嗎?把 a 跟 b 放到 A 裡面可以省很多事吧,難道你有什麼特殊需求?
另外你指的 click signal 是指 signal/slot 的 signal 嗎?signal 應該用 emit 吧,怎麼會直接呼叫?
siyuan.nz
可愛的小學生
可愛的小學生
 
文章: 27
註冊時間: 週四 5月 31, 2007 3:57 pm
來自: 紐西蘭

文章訪客 » 週四 5月 28, 2009 11:52 pm

的確有特殊需求,不過我現在已經用另種方法解決囉,就適用QMAP,等我有需要在去乎中QMAP中相對應的QPUSHBUTTON,雖然麻煩一點卻會方便許多
訪客
 


回到 KDE/Qt 程式設計

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客