QT: كيف يمكنني الحصول على نافذة الجري حاليًا؟
-
26-09-2019 - |
سؤال
أنا أكتب تطبيق اختبار يحاكي مكابس المفاتيح وأرغب في الحصول على ما يتم عرض النافذة بعد كل مفتاح. إليك كتلة الكود.
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()
تُرجع الدالة عنصر واجهة المستخدم التي لها تركيز الإدخال. ولكن هناك الكثير من الوظائف الأخرى التي يمكن أن تساعدك.
امل ان يساعد
لا تنتمي إلى StackOverflow