diff --git a/CMakeLists.txt b/CMakeLists.txt index cbcd7dc..1a52db0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -139,10 +139,11 @@ else() list(APPEND HEADERS src/core/caps_lock_voice_hotkey.h src/core/wayland_text_injector.h) add_compile_definitions(PLATFORM_LINUX) endif() -# Windows 使用 WIN32 标志隐藏启动控制台 +# Windows 使用 WIN32 标志隐藏启动控制台,并嵌入应用图标 if(WIN32) add_executable(${PROJECT_NAME} WIN32 ${SOURCES} ${HEADERS} src/ui/resources/styles/styles.qrc + src/ui/resources/icons/icon.rc ) else() add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS} diff --git a/src/ui/main_window.cpp b/src/ui/main_window.cpp index ad0f94c..d7ab01b 100644 --- a/src/ui/main_window.cpp +++ b/src/ui/main_window.cpp @@ -20,6 +20,7 @@ #include #include #include +#include static const char* const kTag = "MainWindow"; @@ -34,6 +35,9 @@ MainWindow::MainWindow(ConfigManager* configManager, setWindowTitle("Impress Voice Input"); resize(1000, 700); + // 设置窗口图标 + setWindowIcon(QIcon(":/icons/app_icon.png")); + setupUI(sttEngine); setupMenuBar(); setupStatusBar(sttEngine); diff --git a/src/ui/resources/icons/app_icon.ico b/src/ui/resources/icons/app_icon.ico new file mode 100644 index 0000000..4389a98 Binary files /dev/null and b/src/ui/resources/icons/app_icon.ico differ diff --git a/src/ui/resources/icons/app_icon.png b/src/ui/resources/icons/app_icon.png new file mode 100644 index 0000000..69cc7cb Binary files /dev/null and b/src/ui/resources/icons/app_icon.png differ diff --git a/src/ui/resources/icons/icon.rc b/src/ui/resources/icons/icon.rc new file mode 100644 index 0000000..7448164 --- /dev/null +++ b/src/ui/resources/icons/icon.rc @@ -0,0 +1 @@ +1 ICON "app_icon.ico" diff --git a/src/ui/resources/styles/styles.qrc b/src/ui/resources/styles/styles.qrc index 3523715..49d16e1 100644 --- a/src/ui/resources/styles/styles.qrc +++ b/src/ui/resources/styles/styles.qrc @@ -3,4 +3,7 @@ main.qss main_dark.qss + + ../icons/app_icon.png +