c++ - 隐藏 Qt 选项卡的标签文本而不将文本设置为空字符串

标签 c++ qt qtabwidget qdockwidget qtwidgets

我需要一个只有图标的QTabWidget:

如何在 Qt 中隐藏选项卡的标签文本?我无法将文本设置为空字符串 (""),因为我使用的是停靠小部件 (QDockWidget),并且标签文本是自动设置的(如果需要,我需要它小部件是 float 的)。

但在选项卡模式下,我只想显示(选项卡的)图标。 可能的方法:

  1. 字体大小为 0?
  2. 我需要创建自己的酒吧类并将绘画事件覆盖为 here

有什么更简单/更干净的吗?

--- 编辑---

好的,“将窗口标题设置为空字符串,并将其重置为原始文本”的方法有效。为此,我正在使用 topLevelChanged 信号。然而,它也有一些缺点,因为空文本仍然占据了一些空间。另一个问题是,文本工具提示消失了,我无法将其恢复。

Still some space consumed

我目前正在尝试的是介于“文本空”和 Prasad Silva 方法之间的东西。我尝试识别选项卡内的文本标签并将其大小设置为 0,然后重置它。它略有不同,但会保持文本完整。

顺便说一句,我在选项卡顶部看到一行,知道这是什么(它来自哪里)吗? 编辑:对此似乎没有“简便方法”(样式表、属性),请参阅 Hiding bottom line in QTabBar

也许我会自己创建整个标签栏,因为自动生成的东西太难处理了(同意 PS 的观点)。

最佳答案

这不容易做到。使用空文本。

关于c++ - 隐藏 Qt 选项卡的标签文本而不将文本设置为空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24851977/

相关文章:

c++ - QSplitter 在 QWidget 和 QTabWidget 之间变得无法区分

c++ - 从传入的模板中获取类型名称

c++ - 将负数存储在 char 数组中(仍然没有所需/所需的解决方案)

c++ - 从文本文件/文本流错误中读取 QStrings

c++ - 使用 C++ 从系统注册表中检索 ActiveX classID

c++ - 用新的小部件替换 QTabWidget 的页面

c++ - OpenSSL 在验证证书时因 Sig11 而崩溃

c++ - 当人们想在函数中操作指针时,为什么要传入一个双指针呢?

c++ - 在 QT5 中将信号连接到 c++11 lambda

macos - 如何在 OSX 上设置 Qt 标签栏背景的样式