Qt - 如何构建一个多标签窗口?

13
我想建立一个单窗口应用程序,它有两个标签页。如何在窗口上设置两个标签,并点击切换,就像浏览器的窗口和标签一样?
PS:这两个标签具有不同的按钮和文本小部件布局,并且功能不同。
1个回答

19

http://doc.qt.io/qt-5/qtabwidget.html#details


QTabWidget 类提供了一个带有选项卡的小部件堆栈。

选项卡小部件提供了一个选项卡栏(参见 QTabBar)和一个“页面区域”,用于显示与每个选项卡相关的页面。默认情况下,选项卡栏显示在页面区域上方,但可以使用不同的配置(参见 TabPosition)来进行更改。每个选项卡都与不同的小部件(称为页面)相关联。只有当前页面显示在页面区域中;所有其他页面都被隐藏。用户可以通过单击其选项卡或按其 Alt+字母快捷键(如果有)来显示不同的页面。

使用 QTabWidget 的正常方法是执行以下操作:

  1. 创建一个 QTabWidget
  2. 为选项卡对话框中的每个页面创建一个 QWidget,但不要为它们指定父小部件。
  3. 将子小部件插入到页面小部件中,使用布局将它们定位为正常状态。
  4. 调用 addTab()insertTab() 将页面小部件放入选项卡小部件中,并为每个选项卡提供适当的标签和可选的键盘快捷键。

选项卡的位置由 tabPosition 定义,它们的形状由 tabShape 定义。

...

这是你的答案。
编辑:还有一个示例链接。

http://doc.qt.io/qt-5/qtwidgets-dialogs-tabdialog-example.html

更新:除了使用 QTabWidget 带来的所有优点外,QDockWidget 还带有一些标签的附加功能,比如将它们撕开成一个单独的窗口。我最近使用 QDockWidgets 来获得几乎相同的选项卡外观,但是内置的撕裂和右键单击以获取选项卡的已选列表。

希望这有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接