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

时间:2013-05-23 02:51:26

标签: qt

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

PS:这两个标签具有不同的按钮布局和文本小部件,功能也不同。

1 个答案:

答案 0 :(得分:16)

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

  

QTabWidget类提供了一堆选项卡式小部件。

     

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

     

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

     
      
  1. 创建QTabWidget
  2.   
  3. 为选项卡对话框中的每个页面创建一个QWidget,但不要为它们指定父窗口小部件。
  4.   
  5. 将子窗口小部件插入到页面窗口小部件中,使用布局将它们正常放置。
  6.   
  7. 调用addTab()insertTab()将页面小部件放入标签小部件,为每个标签提供一个带有可选键盘的合适标签   快捷方式。
  8.         

    标签的位置由tabPosition定义,其形状由。{1}}定义   tabShape

         

    ...

你有答案。

编辑:链接到一个例子。

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

更新:除了使用QTabWidget带来的所有优势之外,QDockWidget还附带了一些标签的附加功能,就像将它们撕成一个单独的窗口一样。我最近使用QDockWidgets来获得几乎相同的标签外观,但是撕下来了,右键单击选中的标签列表。

希望有所帮助。