2010-07-08 18 views
14

का उपयोग कर माध्यमिक मॉनीटर पर विंडो पूर्ण स्क्रीन प्रदर्शित करें देशी नियंत्रण के साथ संभव है (here और here देखें) तो अब मैं इसे करने के लिए कुछ क्यूटी कोड ढूंढ रहा हूं।क्यूटी

उत्तर

15

मैं दूसरे प्रदर्शन के लिए इस कोड को पूर्ण स्क्रीन में सफलतापूर्वक दोनों विंडोज & लिनक्स पर setGeometry का उपयोग

QRect screenres = QApplication::desktop()->screenGeometry(1/*screenNumber*/); 
SecondDisplay secondDisplay = new SecondDisplay(); // Use your QWidget 
secondDisplay->move(QPoint(screenres.x(), screenres.y())); 
secondDisplay->resize(screenres.width(), screenres.height()); 
secondDisplay->showFullScreen(); 
+1

यह Qt5 में अधिक काम नहीं करता है। QWidget पहली स्क्रीन पर दिखाया गया है। – user502144

+0

क्यूटी 5 पर काम नहीं करने की पुष्टि की। पूर्णस्क्रीन सेट करने के बाद विंडो चलाना काम पर प्रतीत होता है। – eozgonul

+0

मुझे लगता है कि इस कोड के साथ समस्या यह है कि स्क्रीन आकार भिन्न हो सकते हैं, इसलिए स्क्रीनकॉउंट के साथ पूर्ण रिज़ॉल्यूशन को विभाजित करना एक जुआ है जो आपके स्क्रीन संकल्पों के आधार पर काम कर सकता है। –

3

showFullScreen पहले, तो। Qt5 में यह कर के

auto const desktop(QApplication::desktop()); 

    setGeometry(desktop->screenGeometry(1)); 

#ifndef Q_OS_WIN 
    setWindowState(Qt::WindowState(Qt::WindowFullScreen | windowState())); 
#endif // Q_OS_WIN 
+0

क्या आप एक कोड नमूना समेत मनाना चाहते हैं? यह आपके उत्तर को और अधिक मूल्यवान बना देगा। –

+0

यह वास्तव में काम नहीं करता है, जब आप setGeometry को कॉल करते हैं तो विंडोस्टेट को नोस्टेट पर वापस कर दिया जाता है। – eozgonul

3

इस पर मेरे ले परीक्षण किया गया। QWidget में windowHandle() है जो पॉइंटर को QWindow पर लौटाता है।

यहाँ पूर्ण स्क्रीन मोड में दूसरी स्क्रीन पर अपने विजेट को दिखाने के लिए कैसे है: जबकि विंडो> showFullScreen() का उपयोग कर के बजाय विंडो के शो>

QWidget * widget = new QWidget(); 
widget->show(); 
widget->windowHandle()->setScreen(qApp->screens()[1]); 
widget->showFullScreen(); 
9

एक तरह से QWindow::setScreen उपयोग करने के लिए स्क्रीन विंडो दिखाया जाना चाहिए, जिस पर स्थापित करने के लिए है:

Qt5 ठीक