Сделайте автоопределение окна Qt размером экрана
У меня есть приложение Qt, которое нужно загружать на мобильные устройства разных размеров экрана. Как сделать его автообновлением на размер экрана мобильного устройства?
Ответы
Ответ 1
Если вы хотите, чтобы ваше главное окно приложения занимало весь экран, как только оно начнется, используйте QWidget::showMaximized
, например
int main(int argc, char **argv)
{
QApplication app(argc, argv);
MyMainWidget widget;
widget.showMaximized();
return app.exec();
}
Обратите внимание, что showMaximized
- это функция удобства, которая внутренне вызывает QWidget::setWindowState
, упомянутую Эндрю:
void QWidget::showMaximized()
{
// ...
setWindowState((windowState() & ~(Qt::WindowMinimized | Qt::WindowFullScreen))
| Qt::WindowMaximized);
show();
}
Ответ 2
Если вы действительно хотите геометрию, вы можете использовать QDesktopWidget
, чтобы получить информацию о дисплее, включая ее геометрию.
Если вы хотите, чтобы окно было правильно настроено, вы должны использовать QWidget::setWindowState
, так как Andrew.
Ответ 3
void QWidget::setWindowState ( Qt::WindowStates windowState )
Устанавливает состояние окна в windowState. Состояние окна представляет собой OR'ed комбинацию Qt:: WindowState: Qt:: WindowMinimized, Qt:: WindowMaximized, Qt:: WindowFullScreen и Qt:: WindowActive.
Из документации QWidget. Надеюсь, что это поможет.