美文网首页
Qt官方示例-窗口标志

Qt官方示例-窗口标志

作者: Qt君 | 来源:发表于2019-11-25 00:04 被阅读0次

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

demo

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

  • 只能设置一个的窗口标志对照表
窗口标志 描述
Qt::QWidget 窗口的默认属性
Qt::Window 带有窗口系统框架和标题栏
Qt::Dialog 对话框(通常标题栏中没有最大化或最小化按钮)
Qt::Sheet macOS表单式窗口
Qt::Drawer macOS抽屉式窗口
Qt::Popup 弹出式顶层窗口
Qt::Tool 显示工具按钮的窗口
Qt::Tooltip 没有标题栏和窗口边框的窗口
Qt::SplashScreen 启动窗口类似于QSplashScreen
  • 可以设置多个的窗口标志对照表
窗口标志 描述
Qt::MSWindowsFixedSizeDialogHint Windows系统固定大小窄边框窗口
Qt::X11BypassWindowManagerHint 无窗口边框的窗口,完全忽视窗口管理器和用户无法使用键盘进行输入
(除非手动调用QWidget::activateWindow()函数
Qt::FramelessWindowHint 无法移动和改变大小无窗口边框的窗口
Qt::NoDropShadowWindowHint 禁用窗口阴影
Qt::WindowTitleHint 标题栏的窗口
Qt::WindowSystemMenuHint 系统菜单和尽可能地添加一个关闭按钮的窗口
Qt::CustomizeWindowHint 关闭默认窗口标题提示栏
Qt::WindowMinimizeButtonHint 窗口添加一个最小化按钮
Qt::WindowMaximizeButtonHint 窗口添加一个最大化按钮
Qt::WindowCloseButtonHint 窗口添加一个关闭按钮
Qt::WindowContextHelpButtonHint 窗口添加一个帮助按钮
Qt::WindowShadeButtonHint 如果窗口管理器支持,则在最小化按钮的位置添加一个阴影按钮
Qt::WindowStaysOnTopHint 通知窗口系统置顶窗口
Qt::WindowStaysOnBottomHint 通知窗口系统置于最底层窗口
  • 部分代码(更新窗口标志)
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软件可以找到:
what_find
  • 或在以下Qt安装目录找到:
C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\widgets\widgets\windowflags
  • 相关链接
https://doc.qt.io/qt-5/qtwidgets-widgets-windowflags-example.html
  • Qt君公众号回复『Qt示例』获取更多内容。

相关文章

  • Qt官方示例-窗口标志

    窗口标志示例展示了如何使用Qt中可用的窗口标志类型来指定窗口系统属性。   根据示例整理出来的各窗口标志作用一览表...

  • Qt官方示例-数字时钟

    基于QLCDNumber实现的LCD的时钟显示。   DigitalClock继承于QLCDNumber,并实现一...

  • Qt官方示例-目录视图

    该示例显示了本地文件系统的树状视图。它使用QFileSystemModel类提供文件和目录信息。   声明mode...

  • Qt官方示例-计算器

    该示例显示了如何使用信号和槽来实现计算器小部件的功能,以及如何使用QGridLayout将子小部件放置在网格中。 ...

  • Qt官方示例-虚拟键盘使用

    这是一个使用Qt虚拟键盘的QML文本输入示例。   该示例提供两种使用方式:一种用于桌面平台,另一种用于嵌入式平台...

  • Qt官方示例-条形图

    该示例显示如何创建条形图。 0x01 创建图表容器 0x02 配置坐标轴 0x03 加载条形图数据项 0x04 配...

  • Qt官方示例-摆动的文字

    该示例演示了如何使用QBasicTimer和timerEvent对小部件进行动画处理和使用QFontMetrics...

  • Qt多线程即写即用QThread实现方法

    本文所介绍的这种Qt的线程用法在Qt的官方文档中有类似介绍,这里给出一个完整的示例共读者参考。本文介绍的这种方法,...

  • Qt+ECharts开发笔记(二):Qt窗口动态调整大小,使EC

    《Qt+ECharts开发笔记(二):Qt窗口动态调整大小,使ECharts跟随Qt窗口大小变换而变换大小》 ht...

  • Day02

    Qt窗口部件 窗口定义Qt中把没有嵌入其他部件中的部件称为窗口。 QWidget *widget = new Q...

网友评论

      本文标题:Qt官方示例-窗口标志

      本文链接:https://www.haomeiwen.com/subject/sznrwctx.html