基于 ONNX 的实时语音转文本输入法,C++ 跨平台实现。 核心组件: - Qt 6 跨平台 GUI(实时识别 / 文件转写 / 配置页面) - ONNX Runtime 推理引擎(异步模型加载) - PortAudio 音频采集 - dr_libs 音频文件解码 - JSON 配置管理(线程安全,自动持久化) - 日志系统(控制台 + 文件输出) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
30 lines
598 B
C++
30 lines
598 B
C++
#include "text_output.h"
|
|
#include <QScrollBar>
|
|
|
|
namespace impress {
|
|
|
|
TextOutput::TextOutput(QWidget* parent)
|
|
: QTextEdit(parent)
|
|
{
|
|
setReadOnly(true);
|
|
setFont(QFont("Monospace", 12));
|
|
}
|
|
|
|
void TextOutput::appendText(const QString& text) {
|
|
QTextCursor cursor = textCursor();
|
|
cursor.movePosition(QTextCursor::End);
|
|
cursor.insertText(text);
|
|
setTextCursor(cursor);
|
|
verticalScrollBar()->setValue(verticalScrollBar()->maximum());
|
|
}
|
|
|
|
void TextOutput::clearText() {
|
|
clear();
|
|
}
|
|
|
|
QString TextOutput::getFullText() const {
|
|
return toPlainText();
|
|
}
|
|
|
|
} // namespace impress
|