首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QDockWidget -浮动时没有边框的窗口

问QDockWidget -浮动时没有边框的窗口
EN

Stack Overflow用户
提问于 2014-07-14 20:46:33
回答 1查看 2.6K关注 0票数 2

Win 7,Qt 5.3

我在应用程序中使用QDockWidget。按原计划工作。

现在,我通过将setTitleBarWidget(new QWidget(this))设置为默认构造的小部件来隐藏标题栏。根据Qt文档,这是标准的方法。同样有效,标题栏不见了。

为了将我的小部件解锁为窗口,我使用myDockWidget->setFloating(true) (在我自己的插槽中)。但是现在,当小部件被取消停靠时,浮动窗口不再有边框(因此不能移动)。

如果我注释掉setTitleBarWidget,myDockWidget->setFloating(true)也能工作。原来的标题栏似乎包含了一些逻辑。但是,通过查看源代码,我找不到任何特别的东西。

我能做些什么来克服这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-15 10:27:49

这是预期的行为。请参阅QDockWidget::setTitleBarWidget文档:

如果设置了标题栏小部件,则QDockWidget在浮动时不会使用本机窗口装饰。

此行为的目的是允许为dock小部件实现完全定制的标题栏。

解决方法是连接到在小部件浮动或停靠时发出的QDockWidget::topLevelChanged信号,并将标题栏小部件设置为0,只要它是浮动的,以恢复默认行为。

请注意,在设置默认标题栏小部件时不会删除以前的标题栏小部件,因此您应该删除以前使用过的QWidget,或者保存指向它的指针并在下次使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24745685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档