• 12586阅读
  • 13回复

请教,使用QTest的mouseMove成功,但是mouseClick没反应 [复制链接]

上一主题 下一主题
离线casual0402
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-15
RT
使用QTest的mouseMove成功,但是mouseClick没反应
离线xtfllbl

只看该作者 1楼 发表于: 2010-03-15
event 里有反应么?
上海欢迎您
离线casual0402

只看该作者 2楼 发表于: 2010-03-15
引用第1楼xtfllbl于2010-03-15 14:55发表的  :
event 里有反应么?


应该是有的
我使用QTestEventList,然后addMouseMove, addMouseClick, addKeyClick(Qt::Key_Tab)
第一个事件和第3个事件都有效果,就是鼠标点击没有效果……
离线yangfanxing
只看该作者 3楼 发表于: 2010-03-15
鼠标坏啦???呵呵。。。
到处点点,应该有可以相应的地方。。。否则,是不是代码的问题了。。。
PHPWind好恶心。。。不想看这种界面。。。
离线casual0402

只看该作者 4楼 发表于: 2010-03-15
引用第3楼yangfanxing于2010-03-15 21:14发表的  :
鼠标坏啦???呵呵。。。
到处点点,应该有可以相应的地方。。。否则,是不是代码的问题了。。。


首先谢谢各位帮助我的坛友啊

后来我改成QTestEventList,代码如下,请看下 呵呵
  1.     QTestEventList eventList;
  2.     //QCursor::setPos(pos);
  3.     eventList.addDelay(2000);
  4.     eventList.addMouseMove(pos);
  5.     eventList.addMouseClick(Qt::LeftButton);
  6.     eventList.addKeyClick(Qt::Key_Tab);
  7.     eventList.addMouseClick(Qt::LeftButton);
  8.     eventList.addKeyClick(Qt::Key_Tab);
  9.     eventList.addMouseClick(Qt::RightButton);
  10.     eventList.addKeyClick(Qt::Key_Tab);
  11.     eventList.addKeyClick(Qt::Key_A);
  12.     eventList.addKeyClick(Qt::Key_0);
  13.     eventList.simulate(this);
  14. }


鼠标可以移动,Tab键的功能也显现了,但其它的比如鼠标单击,我就没看到什么效果了
我在想是不是纯粹只是传递一个event?
我是这么设置的
将pos设置成一个按钮上面,点击按钮会弹出消息框。
但是鼠标可以移动上去,却始终没点下去,也就没消息框了
离线yangfanxing
只看该作者 5楼 发表于: 2010-03-15
这样写的话。。。是不是每两个add之间(或者是必须的地方)都得加上delay,否则一闪而过怎么看得见呢???
PHPWind好恶心。。。不想看这种界面。。。
离线casual0402

只看该作者 6楼 发表于: 2010-03-15
引用第5楼yangfanxing于2010-03-15 22:18发表的  :
这样写的话。。。是不是每两个add之间(或者是必须的地方)都得加上delay,否则一闪而过怎么看得见呢???


呵呵 我把代码改成这样了……

  1.     eventList.addDelay(2000);
  2.     eventList.addMouseMove(pos);
  3.     eventList.addDelay(2000);
  4.     eventList.addMouseClick(Qt::LeftButton);
  5.     eventList.addDelay(2000);
  6.     eventList.addKeyClick(Qt::Key_Tab);
  7.     eventList.addDelay(2000);
  8.     eventList.addMouseClick(Qt::LeftButton);
  9.     eventList.addDelay(2000);
  10.     eventList.addKeyClick(Qt::Key_Tab);
  11.     eventList.addDelay(2000);
  12.     eventList.addMouseClick(Qt::RightButton);
  13.     eventList.addDelay(2000);
  14.     eventList.addKeyClick(Qt::Key_Tab);
  15.     eventList.addDelay(2000);
  16.     eventList.addKeyClick(Qt::Key_A);
  17.     eventList.addDelay(2000);
  18.     eventList.addKeyClick(Qt::Key_0);
  19.     eventList.simulate(this);
  20. }


还是一样没效果……我是先设置鼠标的目标移动位置是一个动作(工具栏新建按钮,单击会弹出消息框),
鼠标是移动过去了,但是没有点击下去……后面的也只有tab键看到效果了
离线casual0402

只看该作者 7楼 发表于: 2010-03-15
引用第5楼yangfanxing于2010-03-15 22:18发表的  :
这样写的话。。。是不是每两个add之间(或者是必须的地方)都得加上delay,否则一闪而过怎么看得见呢???


呵呵 你这个表情很贴近语境啊
离线jnwangye
只看该作者 8楼 发表于: 2010-12-15
解决了吗?我也遇到这个问题
离线qazasdwsx

只看该作者 9楼 发表于: 2010-12-15
有些窗体好像直接定义事件过滤器 鼠标会不起作用
离线qazasdwsx

只看该作者 10楼 发表于: 2010-12-15
离线jnwangye
只看该作者 11楼 发表于: 2010-12-17
我是用来做单元测试,不想改变被测类的定义。

最后只能用sendinput的方法,模拟鼠标点击
离线zengxinyu
只看该作者 12楼 发表于: 2011-04-28
楼主 你把源代码发上来呗
离线lujing8309
只看该作者 13楼 发表于: 2012-06-18
QTest的mouseMove成功是怎么办到的?
快速回复
限100 字节
 
上一个 下一个