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

CDT*_*CDT 12 qt

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

PS:两个选项卡具有不同的按钮布局和文本窗口小部件,功能不同.

phy*_*att 16

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了几乎相同的标签外观,但是在撕下时烘烤,右键单击选中的标签列表.

希望有所帮助.