मैं एक टेस्ट ऐप लिख रहा हूं जो कुंजी प्रेस को अनुकरण करता है और मैं यह जानना चाहता हूं कि प्रत्येक कुंजी प्रेस के बाद कौन सी विंडो प्रदर्शित होती है। कोड ब्लॉक यहाँ है।क्यूटी: मैं वर्तमान में चल रही विंडो कैसे प्राप्त करूं?
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"));
+1 यह सही समाधान है। – Venemo
हालांकि मुझे एक सेगमेंटेशन गलती मिल रही है। मैं कुछ गलत कर रहा हूं ... मैंने उपरोक्त कोड ब्लॉक अपडेट किया है ... :( – Owen
दस्तावेज़ीकरण में समझाया गया है, यदि कोई खिड़की इनपुट फोकस नहीं है तो रिटर्न पॉइंटर शून्य हो सकता है। ऐसा हो सकता है जहां विधवा के पास कोई कीबोर्ड इनपुट नहीं है विजेट। अपनी टेस्ट विंडो में QTextEdit जोड़ने का प्रयास करें। –