我有几个可停靠的小部件,用户可以将其移动到屏幕上的任何位置。 有时,如果用户将其拖出可视区域,则无法将其恢复。
有什么方法可以将 Qt 中的小部件位置恢复到默认位置吗?
最佳答案
将小部件位置存储在注册表中。安装时采用默认设置并保存屏幕几何形状。例如:
QSettings settings;
settings.beginGroup("MainWindow");
settings.setValue("MRU", m_RecentFiles);
settings.setValue("maximized", isMaximized());
settings.setValue("minimized", isMinimized());
if(!isMaximized())
{
settings.setValue("size", size());
}
QByteArray array = saveState();
settings.setValue("state", array);
QDesktopWidget desktopWidget;
int nb = desktopWidget.numScreens();
settings.setValue("screenNumber", nb);
for(int i = 0; i < nb; ++i)
{
YString screenName = "screen" + YString::number(i);
QRect rect = desktopWidget.screenGeometry(i);
settings.setValue(screenName.data(), rect);
}
关于qt - 将可停靠小部件置于 Qt 中的默认位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16587433/