diff --git a/src/app/application.cpp b/src/app/application.cpp index 4f8f1a4..e047f69 100644 --- a/src/app/application.cpp +++ b/src/app/application.cpp @@ -29,9 +29,6 @@ Application::Application(int& argc, char** argv) LOG_ERROR(kTag, QString("全局模型加载失败: %1").arg(err)); emit modelLoadError(err); }); - - // 异步加载全局模型 - loadGlobalModel(); } Application::~Application() { diff --git a/src/app/application.h b/src/app/application.h index a8ac9ae..b30f48e 100644 --- a/src/app/application.h +++ b/src/app/application.h @@ -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_; SenseVoiceEngine* sttEngine_ = nullptr; QString modelPath_; diff --git a/src/main.cpp b/src/main.cpp index 10f99b5..bd482ec 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -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();