总结DockTab创建的必备条件:
主窗口、创建DockTab、TabManager管理器、注册Tab(注册函数、注册回调函数)通过回调函数装入需要的内容、创建FTabManager::FLayout布局(需要一个FTabManager::NewStack())、将FLayout布局装入窗口中、设置显示窗口
过程:
// 1. 注册标签页生成器(指定如何创建标签页)
RegisterTab(CustomUITabID::ViewportTab);
// 2. 创建布局(指定在哪里放置标签页)
Layout->AddTab(CustomUITabID::ViewportTab, ETabState::OpenedTab);
// 3. 还原布局时(自动调用生成器创建标签页)
TabManager->RestoreFrom(Layout)
→ 发现需要创建 ViewportTab
→ 调用 RegisterTabDockTab
→ 创建包含按钮的标签页
// 创建包含多个标签页的Layout示例
TSharedPtr<FTabManager::FLayout> Layout = FTabManager::NewLayout("MultiTabLayout")
->AddArea
(
FTabManager::NewPrimaryArea()
->Split
(
// 第一列标签页
FTabManager::NewStack()
->AddTab(CustomUITabID::ViewportTab,