qt - 将可停靠小部件置于 Qt 中的默认位置

标签 qt

我有几个可停靠的小部件,用户可以将其移动到屏幕上的任何位置。 有时,如果用户将其拖出可视区域,则无法将其恢复。

有什么方法可以将 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/

相关文章:

android - 如何在C4Droid中编译简单的Qt 5.2工程

qt - QComboBox 的初始项目是否可以显示比项目列表中更短的文本项目?

qt - Q_Property 通知信号何时被调用?

c++ - 如何使用 QNetworkAuth 将视频上传到 Youtube

c++ - QMap<int,QByteArray> 返回错误的 QByteArray

c++ - 信号与槽 - 传递数据

qt - 在 Qt Creator 中,遗漏了示例

c++ - 如何在带有 C++ 的 Ubuntu 中使用 wmi

c++ - 在 Linux 中制作程序,OpenGL、Wayland 和 Qt 如何融入画面

c++ - 在鼠标悬停时显示绘图值。 - 检测散点