当前位置: 首页 > article >正文

QTextEdit达到指定行数自动清理+光标移动到末端(QT/C++)

标题2:QTextEdit/QPlainTextEdit/QLineEdit/QTextBrowser达到指定行数自动清理

标题3:设置QTextEdit/QPlainTextEdit/QLineEdit/QTextBrowser的光标移动到文本末端

标题4:设置QT文本框显示内容过多自动清理且光标移动到文本框末端

1、使用场景:有大量数据实时刷新显示在QT的文本框相关组件时,需要清理部分之前的数据,并且确保光标(当前显示位置)一直在最新的数据处。

2、代码实现:

       (1)判断QTextEdit(其它组件类似)行数,达到指定行数则自动清理前一半的内容


    // 获取QTextEdit中的文本内容
    QString text = ui->textEdit->toPlainText();

    // 将文本按行分割
    QStringList lines = text.split("\n");

    // 判断行数是否超过60行
    if (lines.size() > 60) {
        // 删除前面30行
        lines.erase(lines.begin(), lines.begin() + 30);

        // 将剩余的文本重新组合
        QString newText = lines.join("\n");

        // 更新QTextEdit中的文本内容
        ui->textEdit->setPlainText(newText);
    }

        (2)光标移动到末端(当前显示位置)


    // 获取QTextEdit的光标对象
    QTextCursor cursor = ui->textEdit->textCursor();

    // 将光标移动到文档的末尾
    cursor.movePosition(QTextCursor::End);

    // 将更新后的光标设置回QTextEdit
    ui->textEdit->setTextCursor(cursor);


http://www.kler.cn/a/556422.html

相关文章:

  • 【CXX】4.1 CXX与Cargo集成配置详解
  • DeepSeek04-导出导入模型文件
  • Bootstrap Blazor UI 中 <Table> 组件 <TableColumn> 使用备忘01:EF Core 外码处理
  • Could not download npm for node v14.21.3(nvm无法下载节点v14.21.3的npm)
  • SeaTunnel社区「Demo方舟计划」首期活动上线—— MySQL CDC实时同步至PostgreSQL实战
  • Android 底层判断/dev/video节点是否是可用摄像头
  • 机器学习实战(10):深度学习初探——卷积神经网络(CNN)
  • Python连接MySQL数据库完全指南
  • 【Linux】命名管道------Linux进程间通信的桥梁
  • AI时代前端工程师的自主学习:挑战与机遇
  • MySQL 5.7优化
  • MySQL(1)基础篇
  • C语言预处理学习笔记
  • Web入侵实战分析-常见web攻击类应急处置实验2
  • Test the complete case
  • 区块链中的递归长度前缀(RLP)序列化详解
  • 黑马点评_登录模块
  • 雷军推荐:WPS 与 Pastemate 联用,效率飞升新高度
  • 线段树【C语言】【C++】
  • pycharm 调试 debug 进入 remote_sources