2010-08-24 76 views
3

我試圖設置QMenu子項的可訪問屬性。我可以使用setAccessibleName()來設置父菜單的可訪問屬性,因爲它繼承了QWidget。不幸的是,您添加到菜單中的QActions不是小部件子類,它們直接繼承QObject。如何設置QMenu中包含的QActions的可訪問名稱

有沒有辦法設置菜單項可訪問的名稱?

感謝

回答

1

我從來沒有使用Qt的這個方面,但它看起來像你必須使用QAccessibleInterface框架。 這是QObject的一個子類,即 QAccessibleObject。這仍然有一些純粹的方法,所以你需要提供一些方法。

從我可以從快速瀏覽文檔中可以得到的信息,您可以爲整個菜單或單獨提供一個QAccessibleObject包裝。如果執行後者,則將執行childCount()以返回0並且role(int i)返回QAccessible::MenuItem

+0

這聽起來比我能找到的任何東西都更有希望。我正在研究使用QAction :: associatedWidgets()來訪問任何可能用於繪製菜單項/動作的圖形小部件,並以這種方式獲取/設置可訪問信息的可能性,但這可能只會指向您回到QMenu 。 – 2010-08-24 23:49:27

+0

我試過了,它只是指向父菜單。 – abudker 2010-08-25 22:36:00

+0

我會嘗試包含在實際答案中的想法,但感覺這應該是一個更容易... – abudker 2010-08-25 22:36:48

相關問題