fix: 修复模型加载时机问题,在配置加载后才加载模型
Application 构造函数中调用 loadGlobalModel() 时,配置文件 尚未加载,导致模型路径始终为空。改为将 loadGlobalModel() 设为 公开方法,在 main() 中配置加载和命令行参数处理完成后显式调用。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
6f55ec5780
commit
33ae22ce62
@ -29,9 +29,6 @@ Application::Application(int& argc, char** argv)
|
||||
LOG_ERROR(kTag, QString("全局模型加载失败: %1").arg(err));
|
||||
emit modelLoadError(err);
|
||||
});
|
||||
|
||||
// 异步加载全局模型
|
||||
loadGlobalModel();
|
||||
}
|
||||
|
||||
Application::~Application() {
|
||||
|
||||
@ -32,6 +32,9 @@ public:
|
||||
/** @brief 获取全局 STT 引擎加载状态 */
|
||||
bool isModelLoaded() const;
|
||||
|
||||
/** @brief 加载全局模型(在配置加载后手动调用) */
|
||||
void loadGlobalModel();
|
||||
|
||||
signals:
|
||||
/** @brief 模型加载中(带路径) */
|
||||
void modelLoading(const QString& modelPath);
|
||||
@ -43,8 +46,6 @@ signals:
|
||||
void modelLoadError(const QString& error);
|
||||
|
||||
private:
|
||||
void loadGlobalModel();
|
||||
|
||||
std::unique_ptr<ConfigManager> configManager_;
|
||||
SenseVoiceEngine* sttEngine_ = nullptr;
|
||||
QString modelPath_;
|
||||
|
||||
@ -56,6 +56,9 @@ int main(int argc, char* argv[])
|
||||
configManager->set("stt.model_path", modelPath);
|
||||
}
|
||||
|
||||
// 配置加载完成后,启动全局模型加载
|
||||
app.loadGlobalModel();
|
||||
|
||||
// 创建并显示主窗口(传入全局引擎)
|
||||
impress::MainWindow mainWindow(configManager, app.sttEngine());
|
||||
mainWindow.show();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user