سؤال

أنا أكتب تطبيق اختبار من شأنه أن يختبر ما إذا كان النموذج المعروض هو النموذج الصحيح. هذا بعد الضغط على مفتاح في القائمة. إليك كتلة رمز حيث أحصل على خطأ تجزئة.

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")); 

أسئلة:

  • هل من الممكن حقًا الحصول على النافذة النشطة حاليًا عندما تقوم فقط بمحاكاة مكابس المفاتيح؟
  • أحصل على مؤشر فارغ عند استخدام ActiveWindow ، هل هناك على أي حال يمكنك الحصول على مقبض النافذة التي من المفترض أن تظهر على الشاشة على مفاتيح؟

شكرًا...

هل كانت مفيدة؟

المحلول

كان فرانك على حق. لم يتم تنشيط النافذة بشكل متزامن. إضافة تأخير وهو معلمة من Keypress لم يحل المشكلة. شكرا فرانك!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top