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

QTextEdit 实现特定文本以不同颜色添加显示(C++/QT)

下述代码将实现:QString msg1 在 QTextEdit显示为红色,其余内容显示为黑色。

项目头文件:

include <QtWidgets/QMainWindow>
include <QTextEdit>

//在Qt项目的主程序类中添加:
private:
    void appendColoredText(QTextEdit *textEdit, const QString &text, const QColor &color) 
    {
        // 创建一个 QTextCharFormat 对象
        QTextCharFormat format;
        format.setForeground(color);  // 设置前景色

        // 创建一个 QTextCursor
        QTextCursor cursor = textEdit->textCursor();
        cursor.movePosition(QTextCursor::End);  // 移动到文本结尾
        textEdit->setTextCursor(cursor);  // 设置 Cursor

        // 应用格式并插入文本
        cursor.insertText(text, format);  

        QTextCharFormat format2;
        format2.setForeground(Qt::black);  // 设置黑色-表示接下来内容为黑色
        cursor.insertText("\n", format2);  // 添加换行
    }

项目cpp文件:

//此处为使用示例
        // 添加红色文本-使用自定义函数
        appendColoredText(textEdit, "This is msg1 in red.", Qt::red);

        //添加默认的黑色文本-使用TextEdit的自带方法
        ui->textEdit->append("This is msg2 in black.");
        //或者ui.textEdit->append("This is msg2 in black.");

上述代码可灵活运用实现特定文本以不同颜色添加显示。

补充:QLable实现指定颜色显示:


QPalette pe;
pe.setColor(QPalette::WindowText,Qt::red);//设置为红色
ui->lable_1->setPalette(pe);
ui->lable_1->setText("显示为红色");


http://www.kler.cn/news/361144.html

相关文章:

  • 初阶数据结构【3】--单链表(比顺序表还好的一种数据结构!!!)
  • idea 发布jar包
  • c++日常积累
  • WebGl 使用平行矩阵实现图像平移
  • 跨站脚本攻击XSS以及Cookie如何实现用户管理
  • 了解CSS Paint API
  • jmeter学习(6)逻辑控制器-循环
  • Leetcode—1242. 多线程网页爬虫【中等】Plus(多线程)
  • BurpSuite渗透工具的简单使用
  • SpringBoot 单元测试 - 登录认证在 Spring Boot 上的标准单元测试写法。
  • DruidDataSource 封clickhouse实现数据操作
  • 序列化问题记录:Jackson 与 Fastjson 的注解
  • 【YOLO学习】YOLOv5详解
  • Turn-it:优化线材重构雕塑制造
  • Java全栈经典面试题剖析6】JavaSE高级 -- 文件、IO流、序列化
  • 【计算机网络】详解数据链路层数据帧Mac地址ARP协议
  • Jetpack架构组件_LiveData组件
  • 【贪心算法】(第八篇)
  • kali——strings的使用
  • 安利一款基于canvas/svg的富文本编辑器-支持在导出PDF、DOCX