QTextEidt添加图片

来源:互联网 发布:春晓软件注册码 编辑:程序博客网 时间:2024/06/08 11:54
    QTextEdit/QTextBrowser支持Html4。当insertPlainText不能满足你的需求的时候,可以试试用Html来添加显示的内容。这几介绍大家常用的彩色文字,和添加图片。
    一、添加彩色文字。
    1.由于html的特性,会导致一些特殊字符不能显示,例如用于标记的‘<’‘>’、空格,换行等。所以第一步需要对待添加的QString进行转化,转化成html支持的文本方式。使用如下函数:
    void stringToHtmlFilter(QString &str)
   {
   //注意这几行代码的顺序不能乱,否则会造成多次替换
   str.replace("&","&amp;");     
   str.replace(">","&gt;");
   str.replace("<","&lt;");
   str.replace("\"","&quot;");
   str.replace("\'","&#39;");
   str.replace(" ","&nbsp;");
   str.replace("\n","<br>");
   str.replace("\r","<br>");
    }
    2.根据html标记语言,将QString转化。
    void stringToHtml(QString &str,QColor crl)
    {
     QByteArray array;
     array.append(crl.red());
     array.append(crl.green());
     array.append(crl.blue());
     QString strC(array.toHex());
     str = QString("<span style=\" color:#%1;\">%2</span>").arg(strC).arg(str));
     }
     3.尽情使用转换成功后的QString吧。
     例如在你的TextBrowser中添加如下彩色文字。
     QString str(" < Hello Qt!>\n");
     QColor  clrR(255,0,0);
     stringToHtmlFilter(str);
     stringToHtml(str,clrR);
     m_TextBrowser->insertHtml(str);
    二、添加图片
    1.由于图片没有特殊字符的问题,所以实现起来很容易。先使用如下函数将图片路径转换为html
    void imgPathToHtml(QString &path)
    {
         path = QString("<img src=\"%1\"/>").arg(path);
    }
    2.在你的TextBrowser中添加html
    //这里的path既可以是qrc路径,也可以是本地路径
    QString imgPath = QString("D:/img/hello.png");
    imgPathToHtml(imgPath);
    m_TextBrowser->insertHtml(imgPath);
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 退休时工龄算错怎么办 档案和工龄不符怎么办 身份证复印丢了怎么办 研二考上公务员怎么办 个体户不发工资怎么办 个税逾期申报怎么办 个税零申报逾期罚款怎么办 地税申报未缴款怎么办 个税没有申报怎么办? 卖衣服业绩不好怎么办 五险一金断交5年怎么办 不敢给客户打电话怎么办 猎头网搜找不到怎么办 自保件退保佣金怎么办 不想上班怎么办的理由 通知面试不想去怎么办 催收打单位电话怎么办 社恐不敢找工作怎么办 香港通行证过期了怎么办 港奥通行证过期怎么办 港澳台通行证过期了怎么办 苹果id退款失败怎么办 苹果退款没资格怎么办 公路车刹不住怎么办 哈罗电动车怎么办月卡 自行车向左倒该怎么办 骑电动车腿冷怎么办 骑自行车身体歪怎么办 骑单车膝盖酸痛怎么办 骑自行车大腿痛怎么办 骑单车屁股疼怎么办 骑山地车手腕疼怎么办 硅藻泥赃了怎么办 人事专员没经验怎么办 分不清手动挡位怎么办? 科目三练车加减档老挂错怎么办 两个面试都通过怎么办 吃饭禁忌破了怎么办 社团招新困难怎么办 社团收集材料困难怎么办 离职后怎么办社保卡