如何在Qt中创建两行选项卡

时间:2013-03-17 06:43:25

标签: qt tabs qtabwidget

我希望有类似下图的内容。我想要两排标签。一个包含在另一个中。是用两个QTabWidget的方式去的?另外,我想提一下程序的主窗口将显示这个结构。如果您有任何建议......

我希望标签看起来如下(当然,不完全是;这个手工制作的图片很糟糕)。

Image http://imageshack.us/a/img831/3889/subtabs.png

2 个答案:

答案 0 :(得分:1)

使用嵌套的QTabWidgets:一个外部主要标签,其中包含自己的辅助QTabWidget(其中一个是必需的)。


由于您处于特定外观之后,因此有三种可能的解决方案(按复杂程度排序):

  1. 使用嵌套的QTabWidgets查看使用 Qt样式表可以执行的操作。 See this answer for some example code,当然还有reference in docs

  2. 忘记QTabWidget,编写自己的,包含自定义标签栏,并使用QStackedWidget或仅嵌套QStackedLayout作为标签内容。您可以像使用QTabWidget一样嵌套这些自定义选项卡式小部件,或者只使用动态两行 标签栏位于一个非嵌套的自定义标签窗口小部件中,现在是您的代码。

  3. 开始使用QML for UI,可能仅针对自定义标签栏,可能针对整个中央窗口小部件,具体取决于您拥有的内容。

答案 1 :(得分:0)

您可以改用QTabBar。 QTabWidget由QStackedWidget和QTabBar组成,但您可以直接使用QTabBars - 并且有两层或三层或更多层标签。