• 4853阅读
  • 1回复

[提问]QMenu的activeAction 怎样去选中QMenu中一个指定的QAction(求助!!!) [复制链接]

上一主题 下一主题
离线丸子
 
只看楼主 倒序阅读 楼主  发表于: 2013-12-31
有一个QMenu,每个action都有对应的actId, 怎样通过一个指定的actId去自己选中对应的那个Action, 形容的有点凌乱。。。。
我现在需要自己去通过一个键盘输入模仿鼠标移动然后去选中指定的action
有下面几个问题
1. 假如我通过actId直接去
any = this ->actions().at(actId);
this ->setActiveAction(any);
这样不对,应为当actions().at()的时候会直接忽略二级菜单,比如说我0 1 2 是一级菜单,但是3 4 是在二级菜单a下的action,但是这时候他就会跳过 把二级菜单a也当做action 并编号为3 然后继续往下一个为action4, 但其实下一个应该是action5.
而且我的鼠标没办法移到那个位置去显示我在选那个action   而且需要延时函数去表现一个一个移动的过程

2. 假如我直接cursor移动
QCursor::setPos(QCursor::pos().x(), QCursor::pos().y()+19);
这个方法很笨,就是直接移鼠标,可以自己向旁边移动鼠标,去得到二级菜单,可是在这时要需要一个延时函数,去等待他显示那个二级菜单,假如不延时,鼠标就紧接着移动到旁边的空地了。
但是这个延时函数在网上我在网上没找到。。。。。。

不知道我这凌乱的叙述大家看得懂不。。。。 这些问题该怎么解决?或者大家还有什么别的办法,因为我不是很熟悉都有些什么函数,该怎么用可以怎么用谢啦~~!!

离线丸子
只看该作者 1楼 发表于: 2013-12-31
应该说那个sleep函数不会用。。。。。。。。。
快速回复
限100 字节
 
上一个 下一个