QTest mouseClick на QPushButton
Я попытался щелкнуть QPushButton с помощью функции mouseClick пространства имен QTest. QPushButton является частным участником виджета. Положение курсора мыши во время щелчка находится в центре кнопки, но кнопка не нажата... Может кто-нибудь объяснить, почему?
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);
Спасибо
1 ответ
Решение
Сделайте комментарий, чтобы быть ответом.
Возможная причина проблемы заключается в том, что вы отправляете событие мыши родительскому виджету, а не самой кнопке. Что делать, если вы пытаетесь найти свою кнопку с помощью QWidget::childAt()
функционировать? Например:
[..]
QTest::mouseMove ( myWidget, QPoint( 70, 100 ), -1 );
QWidget *btn = myWidget->childAt(70, 100);
if (btn) {
QTest::mouseClick ( btn, Qt::LeftButton, Qt::NoModifier, QPoint( 70, 100 ), 100);
}