2011-01-14 5 views
14

Ich habe eine Qt-Anwendung, die auf mobilen Geräten mit verschiedenen Bildschirmgrößen geladen werden muss. Wie kann ich die Bildschirmgröße des mobilen Geräts automatisch anpassen?Machen Sie ein Qt-Fenster Autofit auf die Bildschirmgröße

+4

Nur um zu klären, wollen Sie nicht [Vollbild] (http://doc.trolltech.com /4.7/qwidget.html#fullScreen-prop) aber eher gefenstert und der Bildschirmgröße angepasst? – Troubadour

Antwort

14

Wenn Sie möchten, dass das Hauptfenster Ihrer Anwendung den gesamten Bildschirm ausfüllt, sobald es gestartet wird, verwenden Sie QWidget::showMaximized, z.

int main(int argc, char **argv) 
{ 
    QApplication app(argc, argv); 
    MyMainWidget widget; 
    widget.showMaximized(); 
    return app.exec(); 
} 

Beachten Sie, dass showMaximized ist eine Komfortfunktion, die intern die QWidget::setWindowState von Andrew erwähnt ruft:

void QWidget::showMaximized() 
{ 
    // ... 
    setWindowState((windowState() & ~(Qt::WindowMinimized | Qt::WindowFullScreen)) 
        | Qt::WindowMaximized); 
    show(); 
} 
+0

Nehmen wir an, das Hauptfenster meiner Anwendung hat eine Größe von 240x320 Pixeln. Dann musste ich es auf ein mobiles Gerät mit 160x160 Bildschirmgröße laden. Wird es mit showMaximized automatisch auf die verfügbare Bildschirmgröße angepasst? Danke ... – Owen

+0

ich versuche es, aber es passt nicht das Fenster auf meinem Handy-Bildschirm? –

3

void QWidget::setWindowState (Qt::WindowStates windowState)

Setzt den Fensterstatus zu Window. Der Fensterstatus ist eine ODER-Verknüpfung von Qt :: WindowState: Qt :: WindowMinimized, Qt :: WindowMaximized, Qt :: WindowFullScreen und Qt :: WindowActive.

Aus der Dokumentation von QWidget. Hoffe, es wird helfen

6

Wenn Sie wirklich die Geometrie möchten, könnten Sie QDesktopWidget verwenden, um Informationen über die Anzeige, einschließlich der Geometrie davon zu erhalten.

Wenn Sie möchten, dass nur das Fenster richtig dimensioniert wird, sollten Sie QWidget::setWindowState verwenden, wie Andrew vorgeschlagen.

Verwandte Themen