【发布时间】:2011-01-29 15:52:30
【问题描述】:
我正在使用 Qt,我在 Qt Designer Editor 中有一个 QTabWidget 设置,您可以在图 1 中看到它。
正如您在 Tab4 之后看到的那样,一直到右边缘都有一个空白空间,在某种程度上我需要用颜色填充该空间,如图 2 所示(最好的办法是能够设置一个褪色)。或者另一种解决方案是选项卡浮动以覆盖整个屏幕。
我现在使用以下样式表:
QTabWidget::tab-bar {
}
QTabBar::tab {
background: gray;
color: white;
padding: 10px;
}
QTabBar::tab:selected {
background: lightgray;
}
有没有办法使用 Qt 样式表设置 QTabBar 的背景颜色?或者我可以使用 Qt 样式表让选项卡浮动到边缘吗?
编辑: 我一直在尝试 Caleb Huitt - cjhuitt 下面建议的解决方案。我真的很喜欢让选项卡展开但无法正常工作的想法。
在 Qt Designer Editor 中,我右键单击我的 QTabWidget->“Promote To ...”并选择“Base class name”:QTabWidget “升级类名”:ExpandableTabWidget 然后我点击添加,然后点击提升。
在包含我设置的 QTabWidget 的小部件的 init 方法中
ui.tabWidget->SetTabsExpanding(true);
一切正常,但 QTabbar 没有展开。
我做错了吗?
谢谢!
【问题讨论】:
-
你试过给标签栏设置背景色吗?结果如何?
-
是的,测试过,但什么也没发生。有什么想法吗?
-
谢谢!但这就是我迄今为止一直在玩的东西,但没有结果。这不可能吗?
-
Q_PROPERTY 行可能只会在您将扩展选项卡小部件制作成插件时对您有所帮助。否则,如果它正在生成警告,您可以将其删除。
-
另外,关于扩展标签小部件,我假设这会起作用,我自己从来没有做过。如果它不起作用,您可以很容易地创建自己的选项卡小部件,在 QFrame 上方使用 QTabBar,在 QFrame 内部使用 QStackedWidget。当然,您需要添加一些逻辑来处理切换。不过,我会多花点时间尝试找出标签没有展开的原因。
标签: qt qtstylesheets qtabwidget