【发布时间】:2019-10-04 14:46:19
【问题描述】:
为了恢复最后一个窗口的几何形状和状态,我使用了类似于this Qt document 中建议的代码:
void MainWindow::closeEvent(QCloseEvent *event)
{
QSettings settings("MyCompany", "MyApp");
settings.setValue("geometry", saveGeometry());
QMainWindow::closeEvent(event);
}
void MainWindow::readSettings()
{
QSettings settings("MyCompany", "MyApp");
restoreGeometry(settings.value("geometry").toByteArray());
}
看Qt的源代码(qwidget.cpp),QWidget::saveGeometry和它的兄弟restoreGeometry基本上是几何、屏幕编号和窗口状态的序列化。
现在,应用程序在启动过程中会显示启动画面。我想在显示应用程序窗口的同一监视器中显示这样的启动画面。我可以根据QScreen geometry 设置闪屏几何,但我需要屏幕编号来完成此代码:
const auto screens = qApp->screens();
const auto geometry = screens[/* screen number here */]->geometry();
如何从保存的几何图形中只获取屏幕编号?
【问题讨论】:
标签: c++ qt splash-screen qwidget