14

我想构建一个具有两个选项卡的单窗口应用程序。如何在窗口上设置两个选项卡并单击切换,就像浏览器的窗口和选项卡一样?

PS:这两个选项卡的按钮和文本小部件布局不同,功能也不同。

4

1 回答 1

18

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了几乎相同的选项卡外观,但烘烤后撕下,右键单击以查看选项卡列表。

希望有帮助。

于 2013-05-23T04:22:10.140 回答