Вопрос

Я пишу тестовое приложение, которое имитирует ключ нажима, и я хотел бы получить то, что отображается окно после каждой ключевой кнопки. Вот код кода.

std::auto_ptr<MyForm> pForm(new MyForm(3,3)); 
QTest::keyPress(pForm.get(), Qt::Key_0); 

После нажатия 0 здесь окно появится, и я хотел бы проверить, какое окно это так, чтобы получить qcompare / оценивать его позже.

Есть идеи?

Обновлено:

Я получаю ошибку сегментации, когда я использую

std::auto_ptr<MyForm> pForm(new MyForm(3,3)); 
QTest::keyPress(pForm.get(), Qt::Key_0); 
QWidget *pWin = QApplication::activeWindow();
QCOMPARE(pWin->windowTitle(), QString("My Second Menu"));
Это было полезно?

Решение

Если все ваши окна были созданы через ваше приложение, вы можете использовать QApplication сорт. Например, activeWindow() Функция возвращает виджет, который имеет фокус ввода. Но есть много других функций, которые могут вам помочь.

надеюсь, это поможет

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top