2017-10-09 4 views
0

QWidgetから派生したクラスに対してQTestベースのテストケースを書いています。QWestgetがQTestLibを使用して閉じるのを待つ方法はありますか? [Qt5]

ウィジェットを表示した後、が終了するとすぐに、テストをにします。

最初に、QSignalSpyを使用して、QWidgetが実際にclose()に信号を送信しないことを確認しました。

QTestプリミティブを使用してこれを行う「正しい方法」は何ですか?

答えて

1

ウィジェットの属性がspecifyQt::WA_DeleteOnCloseの場合は、destroyed()シグナルを待つでしょうか?

pMyTestWidget->setAttribute(Qt::WA_DeleteOnClose); 
pMyTestWidget->show(); 

// test thread... 
QSignalSpy watchDog(pMyTestWidget, SIGNAL(destroyed(QObject*))); 
watchDog.wait(); 
関連する問題