【发布时间】:2013-12-05 07:45:16
【问题描述】:
我尝试使用 QTest 命名空间的 mouseClick 函数单击 QPushButton。 QPushButton 是 Widget 的私有成员。点击时鼠标光标的位置在按钮的中心,但是按钮没有被点击... 有人能解释一下为什么吗?
MyWidget *myWidget= new myWidget();
myWidget->show();
while ( !myWidget->isVisible() ) {
QTest::qWait(200);
}
QTest::qWait(500);
QTest::mouseMove ( myWidget, QPoint( 70, 100 ), -1 );
QTest::mouseClick ( myWidget, Qt::LeftButton, Qt::NoModifier, QPoint( 70, 100 ), 100);
谢谢
【问题讨论】:
-
也许原因是您将鼠标事件发送到父窗口小部件而不是按钮本身?
-
问题是按钮是小部件的私有成员,所以我无法访问它。
-
好吧,如果您尝试通过调用:
QWidget *btn = myWidget->childAt(70, 100);来找到您的按钮,然后调用鼠标单击它呢? -
谢谢,效果很好!