Ho un'applicazione Qt che deve essere caricata su dispositivi mobili di dimensioni dello schermo differenti. Come posso renderlo autofit alle dimensioni dello schermo del dispositivo mobile?Creazione di una finestra QF con adattamento automatico alle dimensioni dello schermo
risposta
Se si desidera che la finestra principale dell'applicazione occupi l'intero schermo non appena viene avviato, utilizzare QWidget::showMaximized
, ad es.
int main(int argc, char **argv)
{
QApplication app(argc, argv);
MyMainWidget widget;
widget.showMaximized();
return app.exec();
}
Nota che showMaximized
è una funzione convenienza, che chiama internamente il QWidget::setWindowState
citato da Andrew:
void QWidget::showMaximized()
{
// ...
setWindowState((windowState() & ~(Qt::WindowMinimized | Qt::WindowFullScreen))
| Qt::WindowMaximized);
show();
}
Diciamo che le dimensioni della finestra principale della mia applicazione sono 240x320 pixel. Poi ho dovuto caricarlo su un dispositivo mobile con dimensioni dello schermo 160X160. Si ridimensionerà automaticamente alle dimensioni dello schermo disponibili usando showMaximized? Grazie ... – Owen
lo provo ma non si adattava alla finestra sul mio schermo mobile? –
void QWidget::setWindowState (Qt::WindowStates windowState)
imposta lo stato finestra per WindowState. Lo stato della finestra è una combinazione OR di Qt :: WindowState: Qt :: WindowMinimized, Qt :: WindowMaximized, Qt :: WindowFullScreen e Qt :: WindowActive.
Dalla documentazione di QWidget. Spero che possa essere d'aiuto
Se si desidera realmente la geometria, è possibile utilizzare per ottenere informazioni sul display, inclusa la geometria.
Se si desidera che la finestra venga ridimensionata correttamente, tuttavia, è necessario utilizzare QWidget::setWindowState
, come suggerito da Andrew.
Giusto per chiarire, non vuoi [schermo] (http://doc.trolltech.com /4.7/qwidget.html#fullScreen-prop) ma piuttosto con finestre e corrispondenti alle dimensioni dello schermo? – Troubadour