Qt官方示例-窗口标志

  • 2019 年 11 月 27 日
  • 筆記

窗口标志示例展示了如何使用Qt中可用的窗口标志类型指定各窗口系统属性

  根据示例整理出来的各窗口标志作用一览表如下:

  • 只能设置一个的窗口标志对照表
窗口的默认属性
  • 可以设置多个的窗口标志对照表
  • 部分代码(更新窗口标志)
void ControllerWindow::updatePreview()  {      Qt::WindowFlags flags = 0;        if (windowRadioButton->isChecked()) {          flags = Qt::Window;      } else if (dialogRadioButton->isChecked()) {          flags = Qt::Dialog;      } else if (sheetRadioButton->isChecked()) {          flags = Qt::Sheet;      } else if (drawerRadioButton->isChecked()) {          flags = Qt::Drawer;      } else if (popupRadioButton->isChecked()) {          flags = Qt::Popup;      } else if (toolRadioButton->isChecked()) {          flags = Qt::Tool;      } else if (toolTipRadioButton->isChecked()) {          flags = Qt::ToolTip;      } else if (splashScreenRadioButton->isChecked()) {          flags = Qt::SplashScreen;      }        if (msWindowsFixedSizeDialogCheckBox->isChecked())          flags |= Qt::MSWindowsFixedSizeDialogHint;      if (x11BypassWindowManagerCheckBox->isChecked())          flags |= Qt::X11BypassWindowManagerHint;      if (framelessWindowCheckBox->isChecked())          flags |= Qt::FramelessWindowHint;      if (windowNoShadowCheckBox->isChecked())          flags |= Qt::NoDropShadowWindowHint;      if (windowTitleCheckBox->isChecked())          flags |= Qt::WindowTitleHint;      if (windowSystemMenuCheckBox->isChecked())          flags |= Qt::WindowSystemMenuHint;      if (windowMinimizeButtonCheckBox->isChecked())          flags |= Qt::WindowMinimizeButtonHint;      if (windowMaximizeButtonCheckBox->isChecked())          flags |= Qt::WindowMaximizeButtonHint;      if (windowCloseButtonCheckBox->isChecked())          flags |= Qt::WindowCloseButtonHint;      if (windowContextHelpButtonCheckBox->isChecked())          flags |= Qt::WindowContextHelpButtonHint;      if (windowShadeButtonCheckBox->isChecked())          flags |= Qt::WindowShadeButtonHint;      if (windowStaysOnTopCheckBox->isChecked())          flags |= Qt::WindowStaysOnTopHint;      if (windowStaysOnBottomCheckBox->isChecked())          flags |= Qt::WindowStaysOnBottomHint;      if (customizeWindowHintCheckBox->isChecked())          flags |= Qt::CustomizeWindowHint;        previewWindow->setWindowFlags(flags);      ...  }

关于更多

  • 在QtCreator软件可以找到:
  • 在以下Qt安装目录找到:
C:Qt{你的Qt版本}Examples{你的Qt版本}widgetswidgetswindowflags
  • 相关链接
https://doc.qt.io/qt-5/qtwidgets-widgets-windowflags-example.html