2014-04-01 35 views
11

輸入文字時,我使用的是與某些熱鍵連接一些預定義的加速器禁用加速器。是否有可能暫時禁用它們?我不想更改熱鍵,以免混淆用戶。在組合框中鍵入時會激活加速器,這實際上是不可接受的。如何在GTK +

+0

你在加速器和你輸入的內容字符的例子嗎? – drahnr

+0

這不再是一個問題,但要問你的問題爲主窗口連接定義的加速器與應用程序的某些功能按「S」鍵。我試圖以某種方式禁用用戶在文本框中輸入內容時的快捷方式。 – user3484510

+0

關於賞金的附註:問題在標籤中有「python」,但就我而言,這實在是一個GTK +問題,所以任何語言都應該沒問題。 – pmos

回答

1

據我知道你不能禁用它們。他們將收到任何未被關注的窗口消耗的關鍵筆畫。

1

I asked this again on the GTK+ mailing list,人們也必須與現實生活的實現來自於自己的項目(這裏不掛,但你可以檢查線程,如果你想看到他們)兩個建議:

  1. 攔截和處理全部按鍵,因此覆蓋GTK +的正常機制,並允許您爲加速器制定例外。
  2. 有你手動刪除時,文本編輯控件獲得焦點,然後再添加它們當控件失去焦點加速器的列表。在GTK + 3中,這是通過gtk_application_set_accels_for_action完成的。

在線程我聯繫,你可以找到示例代碼這兩種方法。第二種方法即使在GTK + 2,一個在GTK + 3