我正在尝试设置QMenu子项的可访问属性。我可以使用setAccessibleName()设置父菜单的accessible属性,因为它继承了QWidget。不幸的是,您添加到菜单中的QActions不是小部件子类,它们直接继承QObject。
有没有办法设置菜单项的可访问名称?
由于
答案 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");