Сделайте автоопределение окна 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. Надеюсь, что это поможет.