我想构建一个具有两个选项卡的单窗口应用程序。如何在窗口上设置两个选项卡并单击切换,就像浏览器的窗口和选项卡一样?
PS:这两个选项卡的按钮和文本小部件布局不同,功能也不同。
http://doc.qt.io/qt-5/qtabwidget.html#details
该类
QTabWidget
提供了一组选项卡式小部件。选项卡小部件提供了一个选项卡栏(请参阅 参考资料
QTabBar
)和一个“页面区域”,用于显示与每个选项卡相关的页面。默认情况下,选项卡栏显示在页面区域上方,但可以使用不同的配置(请参阅 参考资料TabPosition
)。每个选项卡都与不同的小部件(称为页面)相关联。页面区域只显示当前页面;所有其他页面都被隐藏。用户可以通过单击其选项卡或按其 Alt+字母快捷键(如果有)来显示不同的页面。正常的使用方法
QTabWidget
是执行以下操作:
- 创建一个
QTabWidget
.- 为选项卡对话框中的每个页面创建一个
QWidget
,但不要为它们指定父窗口小部件。- 将子小部件插入页面小部件,使用布局将它们正常定位。
- 调用
addTab()
或insertTab()
将页面小部件放入选项卡小部件中,为每个选项卡提供一个合适的标签,并带有可选的键盘快捷键。选项卡的位置由 定义
tabPosition
,它们的形状由 定义tabShape
。...
这就是你的答案。
编辑:也链接到一个例子。
http://doc.qt.io/qt-5/qtwidgets-dialogs-tabdialog-example.html
更新:除了使用 带来的所有优点QTabWidget
之外,选项卡还附带了一些附加功能QDockWidget
,例如将它们撕成单独的窗口。我最近使用QDockWidgets
了几乎相同的选项卡外观,但烘烤后撕下,右键单击以查看选项卡列表。
希望有帮助。