3
我試圖設置QMenu子項的可訪問屬性。我可以使用setAccessibleName()來設置父菜單的可訪問屬性,因爲它繼承了QWidget。不幸的是,您添加到菜單中的QActions不是小部件子類,它們直接繼承QObject。如何設置QMenu中包含的QActions的可訪問名稱
有沒有辦法設置菜單項可訪問的名稱?
感謝
我試圖設置QMenu子項的可訪問屬性。我可以使用setAccessibleName()來設置父菜單的可訪問屬性,因爲它繼承了QWidget。不幸的是,您添加到菜單中的QActions不是小部件子類,它們直接繼承QObject。如何設置QMenu中包含的QActions的可訪問名稱
有沒有辦法設置菜單項可訪問的名稱?
感謝
我從來沒有使用Qt的這個方面,但它看起來像你必須使用QAccessibleInterface
框架。 這是QObject
的一個子類,即 QAccessibleObject
。這仍然有一些純粹的方法,所以你需要提供一些方法。
從我可以從快速瀏覽文檔中可以得到的信息,您可以爲整個菜單或單獨提供一個QAccessibleObject
包裝。如果執行後者,則將執行childCount()
以返回0並且role(int i)
返回QAccessible::MenuItem
。
這聽起來比我能找到的任何東西都更有希望。我正在研究使用QAction :: associatedWidgets()來訪問任何可能用於繪製菜單項/動作的圖形小部件,並以這種方式獲取/設置可訪問信息的可能性,但這可能只會指向您回到QMenu 。 – 2010-08-24 23:49:27
我試過了,它只是指向父菜單。 – abudker 2010-08-25 22:36:00
我會嘗試包含在實際答案中的想法,但感覺這應該是一個更容易... – abudker 2010-08-25 22:36:48