chore: 迁移 Qt6 到 Qt5

- find_package(Qt6 ...) -> find_package(Qt5 ...)
- 移除 qt_standard_project_setup() (Qt5 无此函数)
- qt_add_resources -> qt5_add_resources + .qrc 资源文件
- QTextStream::setEncoding(QStringConverter::Utf8) -> setCodec("UTF-8")
  (3 个 tokenizer 文件 + logger.cpp)
- 更新 tests/CMakeLists.txt 使用 Qt5::Core

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Alvin Young 2026-05-13 17:16:24 +08:00
parent 01a39ddc8c
commit 50b6a5daea
7 changed files with 25 additions and 23 deletions

View File

@ -27,18 +27,16 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# ============================================================================
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
# Qt 6
find_package(Qt6 REQUIRED COMPONENTS Core Widgets Concurrent Network)
# Qt 5
find_package(Qt5 REQUIRED COMPONENTS Core Widgets Concurrent Network)
# Windows D-BusLinux/macOS
if(WIN32)
find_package(Qt6 REQUIRED COMPONENTS Gui)
find_package(Qt5 REQUIRED COMPONENTS Gui)
else()
find_package(Qt6 REQUIRED COMPONENTS DBus)
find_package(Qt5 REQUIRED COMPONENTS DBus)
endif()
qt_standard_project_setup()
# ONNX Runtime
include(dependencies)
@ -150,12 +148,12 @@ target_include_directories(${PROJECT_NAME} PRIVATE
)
target_link_libraries(${PROJECT_NAME} PRIVATE
Qt6::Core
Qt6::Widgets
Qt6::Concurrent
Qt6::Network
$<$<BOOL:${WIN32}>:Qt6::Gui>
$<$<NOT:$<BOOL:${WIN32}>>:Qt6::DBus>
Qt5::Core
Qt5::Widgets
Qt5::Concurrent
Qt5::Network
$<$<BOOL:${WIN32}>:Qt5::Gui>
$<$<NOT:$<BOOL:${WIN32}>>:Qt5::DBus>
${ONNXRUNTIME_LIBRARIES}
${PORTAUDIO_LIBRARIES}
$<$<NOT:$<BOOL:${WIN32}>>:pthread>
@ -169,12 +167,10 @@ target_compile_options(${PROJECT_NAME} PRIVATE
# ============================================================================
#
# ============================================================================
#
qt_add_resources(${PROJECT_NAME} "styles"
PREFIX "/"
FILES
src/ui/resources/styles/main.qss
)
# Qt5 使 qrc
set(RESOURCE_FILES src/ui/resources/styles.qrc)
qt5_add_resources(RESOURCE_SOURCES ${RESOURCE_FILES})
list(APPEND SOURCES ${RESOURCE_SOURCES})
# ============================================================================
#

View File

@ -18,7 +18,7 @@ bool SenseVoiceTokenizer::load(const QString& tokensPath) {
}
QTextStream stream(&file);
stream.setEncoding(QStringConverter::Utf8);
stream.setCodec("UTF-8");
tokenToString_.clear();

View File

@ -17,7 +17,7 @@ bool Tokenizer::loadVocabulary(const QString& vocabPath) {
}
QTextStream stream(&file);
stream.setEncoding(QStringConverter::Utf8);
stream.setCodec("UTF-8");
vocabulary_.clear();
while (!stream.atEnd()) {

View File

@ -17,7 +17,7 @@ bool WhisperTokenizer::loadVocabulary(const QString& vocabPath) {
}
QTextStream stream(&file);
stream.setEncoding(QStringConverter::Utf8);
stream.setCodec("UTF-8");
tokenToString_.clear();
stringToToken_.clear();

View File

@ -0,0 +1,6 @@
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource prefix="/">
<file>styles/main.qss</file>
</qresource>
</RCC>

View File

@ -118,7 +118,7 @@ QString Logger::getTimestamp() {
void Logger::writeToFile(const QString& line) {
if (logFile_ && logFile_->isOpen()) {
QTextStream stream(logFile_);
stream.setEncoding(QStringConverter::Utf8);
stream.setCodec("UTF-8");
stream << line << Qt::endl;
logFile_->flush();
}

View File

@ -36,7 +36,7 @@ target_include_directories(tests PRIVATE
target_link_libraries(tests PRIVATE
Catch2::Catch2WithMain
Qt6::Core
Qt5::Core
pthread
)