2009-08-07 17 views
37

मैं अपना विजेट पूर्णस्क्रीन कैसे बना सकता हूं? मैंने इस तरह कुछ करने की कोशिश की है:फुलस्क्रीन विजेट

void MainWindow::SetFullScreen() 
{ 
    // Make our window without panels 
    this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint); 
    // Resize refer to desktop 
    this->resize(QApplication::desktop()->size()); 

    this->setFocusPolicy(Qt::StrongFocus); 
    this->setAttribute(Qt::WA_QuitOnClose, true); 

    qApp->processEvents(); 
    show(); 
    this->setFocus(); 
} 

लेकिन विजेट सिस्टम पैनलों पर नहीं है। कोई और विचार?

ओएस: इस समारोह के दो कॉल नहीं होना चाहिए (लेकिन सावधान रहना, जैसे QMainWindo->showFullScreen() की पहली कॉल - लिनक्स

उत्तर

52

QWidget::showFullScreen() तुम क्या जरूरत है - साल के लिए अपनी परियोजनाओं में लिनक्स + Windows के तहत अच्छा काम करता है। और फिर MyWidget->showFullScreen())।

Ciao, क्रिस

+0

धन्यवाद। बहुत काम करता है! – Ockonal

+4

जब तक "माईविड्जेट" एक और विंडो नहीं है MyWidget-> showFullScreen() कुछ भी नहीं करेगा। –

+0

XRandr, Eyefinity या Xinerama के साथ एकाधिक स्क्रीन सेटअप के बारे में कैसे? क्या यह ठीक से काम करता है? – drahnr

8

इस कोड को फिर से डबल क्लिक करके वापस सामान्य दृश्य पर लौटने के आप डबल क्लिक करके एक पूर्ण स्क्रीन निर्धारित करने की अनुमति होगी।

void myWidget::mouseDoubleClickEvent(QMouseEvent *e) { 
    QWidget::mouseDoubleClickEvent(e); 
    if(isFullScreen()) { 
    this->setWindowState(Qt::WindowMaximized); 
    } else { 
    this->setWindowState(Qt::WindowFullScreen); 
    } 
} 
संबंधित मुद्दे