还是要编辑器模式下的写法
时间: 2023-10-07 20:05:02 浏览: 34
对不起,我之前的回答有误。在编辑器模式下,您可以使用 FEditorFileDialogs::OpenFileDialog 方法打开选择文件窗口。以下是一个示例代码,可以让您选择一个txt文件,并将其路径输出到控制台:
```cpp
void YourClass::OpenFileDialogue()
{
FString DefaultPath = FEditorDirectories::Get().GetLastDirectory(ELastDirectory::GENERIC_IMPORT);
FString DefaultFile = TEXT("*.txt");
FString FileTypes = TEXT("Text files (*.txt)|*.txt");
TArray<FString> OutFilenames;
bool bSelected = false;
bSelected = FEditorFileDialogs::OpenFileDialog(
nullptr,
TEXT("Select a file"),
DefaultPath,
DefaultFile,
FileTypes,
EFileDialogFlags::None,
OutFilenames
);
if (bSelected && OutFilenames.Num() > 0)
{
FString FilePath = OutFilenames[0];
UE_LOG(LogTemp, Warning, TEXT("Selected file path: %s"), *FilePath);
}
}
```
请注意,您需要包含 "EditorDirectories.h" 和 "Editor/EditorDirectories.h"。同时,您还需要在您的项目的 build.cs 文件中添加 "EditorWidgets" 模块的依赖。