我有一个Qt应用程序需要加载到不同屏幕尺寸的移动设备上。如何使其自动调整到移动设备的屏幕大小?
答案 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的文档。希望它会有所帮助