2011-01-14 30 views
14

Tengo una aplicación Qt que necesita cargarse en dispositivos móviles de diferentes tamaños de pantalla. ¿Cómo hago que se autoajuste en el tamaño de pantalla del dispositivo móvil?Hacer una ventana de Qt con ajuste automático al tamaño de la pantalla

+4

Solo para aclarar, es lo que no quiere [fullScreen] (http://doc.trolltech.com /4.7/qwidget.html#fullScreen-prop) pero en lugar de una ventana y coincide con el tamaño de la pantalla? – Troubadour

Respuesta

14

Si desea ventana principal de la aplicación para ocupar toda la pantalla tan pronto como se inicia, utilice QWidget::showMaximized, por ejemplo,

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

Tenga en cuenta que showMaximized es una función de conveniencia, que llama internamente al QWidget::setWindowState mencionado por Andrew:

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

Digamos que el tamaño de la ventana principal de mi aplicación es de 240x320 píxeles. Luego tuve que cargarlo en un dispositivo móvil con un tamaño de pantalla 160X160. ¿Cambiará automáticamente el tamaño de la pantalla disponible usando showMaximized? Gracias ... – Owen

+0

lo intento pero no se ajusta a la ventana de la pantalla de mi dispositivo móvil? –

3

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

Establece el estado de la ventana de Windowstate. El estado de la ventana es una combinación OR de Qt :: WindowState: Qt :: WindowMinimized, Qt :: WindowMaximized, Qt :: WindowFullScreen y Qt :: WindowActive.

De la documentación de QWidget. Espero que ayude

6

Si realmente desea la geometría, puede usar QDesktopWidget para obtener información acerca de la pantalla, incluida la geometría de la misma.

Si solo desea que la ventana tenga el tamaño correcto, sin embargo, debe usar QWidget::setWindowState, como Andrew.

Cuestiones relacionadas