2013-05-04 15 views
1

我有一個GtkScale,我希望它只在發佈鼠標按鈕時觸發value-changed事件,即不是在拖動縮放比例時。使用GTK + 3,如何在鼠標釋放時使GtkScale觸發器「值更改」?

在GTK + 2,有一個叫做gtk_range_set_update_policy功能,這可能與被稱爲:

gtk_range_set_update_policy(scale, GTK_UPDATE_DISCONTINUOUS) 

但該功能已被刪除。有關如何使用GTK + 3做到這一點的想法?

(我工作的項目是用Python PyGObject,但在C或(大多數)其他語言的答案是確定的。)

+1

那麼爲什麼不連接到'button-release-event'呢?您可以在'button-release-event callback'中獲取值並執行您在'value-change'回調中所做的操作 – 2013-05-04 20:19:24

+0

Thanks anon!這是一個很好的建議。但是,當通過其他方式(即通過鍵盤動作)改變了值時,我仍然希望得到一個信號。我寧願不重新實現按鍵事件中的所有GtkScale功能...... – skagedal 2013-05-04 20:59:29

回答

1

哦,我現在知道了。現在很明顯,我知道該怎麼做。感謝匿名者指出我的方向正確!

button-press-event,我設置了一個標誌,避免我的value-change代碼(實際上我切換到使用change-value事件代替)。在button-release-event我解除了它。明顯。 :-)

+0

非常感謝小費,因爲我一直在想同樣的事情,並且可能很快就會使用'gtkmm'來實現這個功能!但是......呃,這真的是我們減少到的?不得不浪費字節存儲和時間處理我們的'範圍',每個鼠標事件...這個自定義標誌...當它曾經是一個本地api功能?感謝噸,gtk。 commit ref:https://mail.gnome.org/archives/commits-list/2011-January/msg01174.html – 2016-02-24 23:46:26

相關問題