سؤال

أنا أكتب تطبيق اختبار يحاكي مكابس المفاتيح وأرغب في الحصول على ما يتم عرض النافذة بعد كل مفتاح. إليك كتلة الكود.

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