如何设置QMenu中包含的QActions的可访问名称

时间:2010-08-24 22:48:44

标签: qt qt4

我正在尝试设置QMenu子项的可访问属性。我可以使用setAccessibleName()设置父菜单的accessible属性,因为它继承了QWidget。不幸的是,您添加到菜单中的QActions不是小部件子类,它们直接继承QObject。

有没有办法设置菜单项的可访问名称?

由于

2 个答案:

答案 0 :(得分:1)

我从未使用过Qt的这个方面,但看起来你必须使用QAccessibleInterface框架。 QObject有一个子类,即 QAccessibleObject。这仍然有一些基础的纯方法,所以你需要提供一些方法。

通过快速浏览文档,我可以为整个菜单或单独的每个操作提供QAccessibleObject包装。如果执行后者,则应实施childCount()以返回0,并role(int i)返回QAccessible::MenuItem

答案 1 :(得分:0)

我不确定菜单是否可以在您的情况下使用,但是我解决了我的o-> parent()返回QObject这样的问题。

dynamic_cast<QWidget*>(o->parent())->setAccessibleName("whatever");