如何将最大化按钮添加到浮动QDockWidget?

时间:2017-08-29 08:48:02

标签: c++ qt qwidget qdockwidget

如何将最大化按钮添加到浮动QDockWidget?

我读到了创建自定义标题栏的方法,但我更喜欢使用标准按钮而不是我必须添加的图标。

最好的解决方案是标题栏样式在浮动时不会改变。

Dock widget screenshot

1 个答案:

答案 0 :(得分:0)

最初,浮动窗口将具有以下标志:QFlags (Tool | X11BypassWindowManagerHint | WindowTitleHint | WindowSystemMenuHint | CustomizeWindowHint | WindowCloseButtonHint)

您将需要设置Qt :: CustomizeWindowH并将标记Qt:WindowMaximizeButtonHint(或WindowMinMaxButtonsHint)和Qt:FramelessWindowHint分别添加到停靠小部件上的其他标记(取决于您使用的系统视-还需要要设置的X11标志)QFlags (Tool | X11BypassWindowManagerHint | FramelessWindowHint)

需要使用setWindowFlags:https://doc.qt.io/qt-5/qwidget.html#windowFlags-prop

方法来设置标志

另外还有另一种方法:setWindowFlag(flag,bool):https://doc.qt.io/qt-5/qwidget.html#setWindowFlag