2011-02-04 78 views
1

是否有Qt(我使用Qt 4.7.1)窗口小部件在按下時發出信號(第一次不是一個),並在用戶釋放鼠標時停止?像標準時間間隔內的ousedown事件? 還是我必須用qtimer來實現? 謝謝qt按鈕發出多個信號

回答

0

你必須實現一些事件觸發事件,直到用戶釋放鼠標。

我建議你創建一個連接到按鈕事件的處理程序類,它可以根據你的觀察者觸發自定義事件。

0

據我所知,沒有這樣的按鈕小部件。 QPushButtonautoRepeat應該做你想做的。但是,QPushButton::pressed()QPushButton::released()信號不會滿足您的需求嗎?

不管怎樣,你要描述會很容易(和多餘的,因爲它已經存在)來實現什麼樣的QTimer::timeout()信號連接到你想要的信號,然後就開始pressed()信號上的定時和停止它released()信號:)

編輯:正如在評論中指出,有一個inbuild解決方案,那就是設置屬性autoRepeat繼承自QAbstractButtontrue

您可以通過調整autoRepeatDelayautoRepeatInterval來自定義初始延遲和間隔。

+0

好的,謝謝這是我想到的解決方案。感謝您確認沒有此功能的qwidget – theosem 2011-02-04 11:37:09

+1

但有!看到弗蘭克·奧斯特費爾德的回答 – TonyK 2011-02-04 15:25:03