使Qt窗口自动调整到屏幕大小

时间:2011-01-14 09:04:02

标签: qt user-interface mobile screen

我有一个Qt应用程序需要加载到不同屏幕尺寸的移动设备上。如何使其自动调整到移动设备的屏幕大小?

3 个答案:

答案 0 :(得分:16)

如果您希望应用程序的主窗口在启动后立即占据整个屏幕,请使用QWidget::showMaximized,例如

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

请注意,showMaximized是一个便利函数,内部调用Andrew提到的QWidget::setWindowState

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

答案 1 :(得分:6)

如果您真的想要几何体,可以使用QDesktopWidget获取有关显示的信息,包括它的几何形状。

但是,如果您只是想要正确调整窗口大小,则应使用QWidget::setWindowState,建议使用Andrew

答案 2 :(得分:3)

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

将窗口状态设置为windowState。窗口状态是Qt :: WindowState:Qt :: WindowMinimized,Qt :: WindowMaximized,Qt :: WindowFullScreen和Qt :: WindowActive的OR组合。

来自QWidget的文档。希望它会有所帮助