我想建立一个单窗口应用程序,它有两个标签页。如何在窗口上设置两个标签,并点击切换,就像浏览器的窗口和标签一样?
PS:这两个标签具有不同的按钮和文本小部件布局,并且功能不同。
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
来获得几乎相同的选项卡外观,但是内置的撕裂和右键单击以获取选项卡的已选列表。
希望这有所帮助。