问题标签 [qtabbar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3716 浏览

c++ - 如何自定义 QTabWidget 选项卡?

问题是:

客户面板是从 QTabWidget 派生的,并且有一些带有一些小部件的选项卡

其中操作员(人)可以编辑数据。当任何小部件中的数据发生更改时

我检查了它,我在 QLabel 中设置了粗体字体,这是这个小部件的“伙伴”。我通过设置来做到这一点:

到目前为止,一切都很好。

接下来,我希望在其中有修改和未保存数据的选项卡也用粗体进行标记。即使用户切换到其他选项卡,并且他留下未保存的数据,该选项卡也应保持用粗体标记,直到他回来并保存数据。

那就是问题所在。

如果我为小部件或 QTabBar 设置 setFont - 所有文本或所有选项卡都标记为粗体。

在我从 QTabWidget 派生的类中,我有:

所以我可以访问tabBar,例如使用setTabTextColor——用不同的颜色标记这个选项卡——这是某种解决方案,但其他“伙伴”标签用粗体标记,所以tabText应该是粗体。

如果我使用 setStyleSheet 我可以制作粗体,但也有一个问题:

如果我使用活动、选定等伪状态,这会将所有选项卡设置为粗体文本 - 当用户切换到其他选项卡时它会更改,并且我需要保持此选项卡为粗体,直到保存数据。

我可以使用 setProperty 然后为具有特定属性的小部件制作 styleSheet,但真正的问题是,我不能或不知道如何访问 QTabBar 中的一个选项卡(例如通过知道它的索引号)

我已经看到,在 QT3 中有 QTab* QTabBar::tab(int) 可以访问特定选项卡,但这不再可用。我阅读了http://qt.nokia.com/doc/4.5/stylesheet-examples.htmlhttp://qt.nokia.com/doc/4.5/stylesheet-reference.html并没有找到解决方案。

如何访问 QTabBar 中的特定选项卡(通过其索引号)或如何为特定选项卡设置字体:粗体样式表,当用户切换到其他选项卡时保留粗体字体?

提前致谢。

0 投票
1 回答
181 浏览

c++ - Qt反转选项卡QTabWidget?

我正在寻找反转 Qt Designer 中的选项卡。

那就是我希望从 QTabWidget 标准中更改选项卡:

/--tab1--\/--tab2--\________________

\--tab1--/\--tab2--/************************

该选项卡进入内容的位置,而不是内容。

我有一个简单的方法可以做到这一点吗?也许是 Qtabwidget 的设置或某种方式来编辑 CSS 以实现这一点?

谢谢

0 投票
1 回答
2594 浏览

qt - QTabWidget - 水平选项卡(当 TabPosition=West 时)

我有一个 QTabWidget,它在每个选项卡中都有另一个 QTabWidget。主 QTabWidget 的 tabPosition 设置为 West。

有没有一种简单的方法可以使选项卡水平而不是 QTabWidget 的子类(更改绘画事件等)?

0 投票
1 回答
819 浏览

python - PyQt5 无法创建 Tabbars 或 Tabs

我一直在努力学习 PyQt5(和面向对象的编程)。在我当前的脚本中,我需要创建一个选项卡式界面,但似乎无法管理它。我怀疑这个问题与 OOP 有关(我是新手)。“自我”似乎是问题所在,我知道这意味着什么,但还不足以解决它。下面是我最近的尝试。似乎我在使用脚本其他地方的“错误的自我”。我非常想了解面向对象编程 - 在此先感谢任何好心的人提供帮助!

一些代码/错误是:

代码:

错误:

这是代码:

0 投票
1 回答
2694 浏览

qt - 在 qml 中使用 c++ 枚举

我有一个enum我在 qml 中使用的

main.cpp我注册SettingManager

我在 qml 文件中使用它

当发生以下错误CurrentIndex的更改时:TabBar

错误:无法将 [undefined] 分配给 int

0 投票
1 回答
649 浏览

c++ - 自定义外观 QTabWidget

我目前正在开发 Qt 应用程序。在那里,我正在使用带有多个选项卡的 QTabWidget。

QTabWidget 嵌入到 QVBoxLayout 中。我的问题是添加的选项卡显示居中,我希望它们左对齐。我怎么能做到这一点?

在此处输入图像描述

我也想换个外貌。是唯一的方法来覆盖 QTabBar 的paintEvent 吗?

我正在使用 Qt 和 C++,没有 QML

谢谢并恭祝安康

0 投票
3 回答
6516 浏览

c++ - 如何在 QT 中实现垂直制表符?

我正在尝试使用 QT 实现带有水平文本的垂直选项卡,但在QTabWidget中找不到任何类似的选项。

SO中有人在这里要求类似的东西,但是,答案包含断开的链接,我怀疑它们是否提供了真正的解决方案。

有人能够做到这一点吗?

0 投票
2 回答
252 浏览

c++ - Qt (C++) 设置 QWidgetTab 中各个选项卡的颜色

所以我需要用户能够完全自定义选项卡,即右键单击每个选项卡并能够调出一个调色板,这将允许他们更改单个选项卡的颜色。

为此,我像许多其他帖子所建议的那样,在 QTabBar 中重新实现了paintEvent 函数,但是,我似乎无法让标签实际改变颜色......

目前我只是浏览每个选项卡并将所有 QPalette 属性更改为黄色。

选项卡的文本变为黄色,没有其他内容!

油漆事件代码:

正如我所说,文本变为黄色但背景没有,根据http://doc.qt.io/archives/qt-4.8/qpalette.html#ColorRole-enum它们是所有可用的枚举尚未使用他们似乎都没有改变背景颜色。

任何帮助将不胜感激。

干杯。

编辑:

当我将标签形状更改为三角形时,它似乎可以工作,但是我又不想这样。这只是Qt中的一个错误吗?

QTabWidget 道具:

0 投票
3 回答
6044 浏览

python - pyqt5 tabwidget 垂直制表符 水平文本左对齐

由于 pyqt 在垂直选项卡选项中没有水平文本,我按照这个链接来实现它。我想在左侧有图标,然后在图标和不同颜色的选定选项卡文本、非活动选项卡文本之后显示文本。下面的代码几乎可以完成。唯一的问题是文本对齐是中心。我尝试更改 tabRect.center() 但用左、上或右等更改它会使其崩溃。

我从此链接获得的注释代码让我左对齐,但它没有我添加的图标。但我无法更改非活动标签的文本颜色。

我是 python 新手,我无法找到解决方案。我也试过这个链接,但这只会设置背景颜色。尝试使用此选项以及setTabTextColor 链接,但由于某种原因它不起作用。从2天开始尝试。

每当我尝试使用带有注释代码的样式表设置文本颜色时,“颜色”选项在样式表中不起作用。关于如何完成这项工作的任何想法?谢谢

0 投票
1 回答
401 浏览

python - 将标签扩展到整个窗口大小?

几天来,我一直在为与标签相关的事情苦苦挣扎。我正在尝试使我的应用程序中的标签栏延伸到窗口大小的整个宽度。我正在使用 MacOS 和 Ubuntu,虽然两者的最终结果不同,但两者都不起作用。

到目前为止,我已经尝试了一些事情。首先,我创建了 QtWidgets.QTabBar 的子类并将其用作标签栏。我尝试将 expand 设置为 true (self.setExpand(True)),但从我所听到的一切来看,这不会让您覆盖操作系统默认值。

下一个想法是重写tabSizeHint,看起来这是正确的方法,但我一直无法弄清楚实现。这是我现在正在做的事情,对我来说,它似乎应该工作:

这在我最初启动程序时有效,但如果我扩展窗口,则不会扩展选项卡的大小。似乎 tabSizeHint 没有被调用。我采取的另一种(失败的)方法如下:

对于这个,每当我单击选项卡时,它会简要显示 4 个选项卡占据整个宽度(如我所愿),但在窗口中间而不是顶部。不久之后,它将消失并恢复到窗口顶部的默认大小的选项卡,就好像它被其他东西覆盖了一样。