Qt 删除窗口小部件

Posted

技术标签:

【中文标题】Qt 删除窗口小部件【英文标题】:Qt Removing Window Widgets 【发布时间】:2016-03-15 09:48:49 【问题描述】:

我正在使用 Qt5.5,我想要一个没有任何小部件的窗口,这是我的 Window 构造函数中的一个 sn-p:

    Qt::WindowFlags flags = (Qt::Window
                           | Qt::WindowTitleHint
                           | Qt::CustomizeWindowHint)
                          & ~Qt::WindowMaximizeButtonHint;
    setWindowFlags(flags);

这会产生一个没有关闭窗口小部件和最小化窗口小部件的窗口,但是最大化窗口小部件仍然可见并且可以单击以最大化窗口,也可以通过拖动窗口边缘来调整窗口大小。

我正在尝试创建一个始终位于顶部且没有任何小部件且大小固定的工具窗口。

在 QtCreator 中,我将 sizePolicy 设置为:

    Horizontal Policy: Fixed
    Vertical Policy: Fixed

但我仍然可以调整窗口大小?

我知道这是一个与之前发布的其他人非常相似的问题,但到目前为止阅读了这些并尝试了这些建议,但没有任何效果。

我在 Ubtuntu 14.04 上运行。

【问题讨论】:

【参考方案1】:

通过添加:

    setFixedSize(mcintWindowWidth, mcintWindowHeight);

这解决了问题,最大化小部件不再可见,窗口无法再调整大小。

【讨论】:

以上是关于Qt 删除窗口小部件的主要内容,如果未能解决你的问题,请参考以下文章

QT:如何关闭同一个小部件的多个窗口?

其他非 qt 窗口顶部的 Qt 小部件

透明小部件不随其父级移动

如何在 Qt 中将消息从子窗口小部件发送到父窗口?

Qt将两个小部件“粘合”在一起

QT5.4 删除和删除布局中的小部件