0
Görüntülenen formun doğru form olup olmadığını sınayacak bir test uygulaması yazıyorum. Bu, menüdeki bir tuşa basıldıktan sonra. İşte bölümleme hatası alıyorum bir kod bloğu.QT birim testi: qtestlib Segmentasyon hatası
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"));
Sorular:
- o sadece tuşa basma simüle edildiğinde şu anda etkin pencereyi almak gerçekten mümkün mü?
- ActiveWindow'u kullanırken boş bir işaretçi alıyorum, bir tuşa basıldığında ekranda görünmesi gereken pencerenin tutamacını bulabilir misiniz?
Teşekkür ...
İki fikir: 1. Key_0 üzerinde hareket etmeyi beklediğiniz kodun gerçekten tetiklendiğini ve menünün oluşturulduğunu kontrol edin. Değilse, formu() göstermeye çalışın. 2. Pencere eşzamanlı olarak etkinleştirilmemiş, ancak gecikmeli olabilir, kodunuz işe yaramaz. –
Teşekkürler dostum ... haklıydın ... keyPress'de bir gecikme ekledim ve işe yaradı! : D – Owen