qt--textEdit多行文本编辑框

继承  QObject-->QWidget-->QFrame-->QAbstractScrollArea-->QTextEdit

QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条,Qtextedit不仅可以用来显示文本还可以用来显示HTML文档,图像,表格

任何一个文本编辑器的程序都要用到QTextEdit作为输入文本的容器,在它里面输入的可编辑文本由QTextDocument作为载体

文本操作

ui->textEdit->setPlaceholderText("为空时提示");//在文本框内部内容为空时, 给用户的文本提示信息
    QString s=ui->textEdit->placeholderText();  //返回占位提示信息
    ui->textEdit->setPlainText("我爱我的祖国"); //设置普通文本,原来的文本被覆盖掉
    //注意  光标在0位置
    ui->textEdit->insertPlainText("我想为祖国做点贡献,");  //在光标处插入普通文本
    //会自动移动光标
    s=ui->textEdit->toPlainText(); //返回文本框的文本内容-纯文本

    ui->textEdit->setHtml("<h1>我爱我的祖国</h1>"); //设置HTML文本-富文本,原来的文本被覆盖掉
     //注意  光标在0位置
    ui->textEdit->insertHtml("<h1>我想为祖国做点贡献,</h1>") ; //在光标处插入HTML文本-富文本
    //会自动移动光标
    s=ui->textEdit->toHtml(); //返回文本框的文本内容-富文本

    ui->textEdit->setText("<h1>我爱我的祖国</h1>") ;//设置文本-自动判断是普通文本还是富文本
     // 注意  光标在0位置     原来的文本被覆盖掉
    ui->textEdit->append(",我想为祖国做点贡献") ; //在尾部追加文本-自动采用前面的文本格式,自动判断是普通文本还是富文本
    ui->textEdit->clear(); //清空文本

    QTextCursor tc=ui->textEdit->textCursor();  //获取文本光标对象->QTextCursor

    //利用文本光标对象插入文本---格式一
    tc.insertText("中国人"); //在光标处插入文本,自动判断格式
     //自动移动光标

    //利用文本光标对象插入文本---格式二-带字体
    QTextCharFormat tcf=QTextCharFormat(); //创建文本字符格式对象
    tcf.setToolTip("悬停提示信息") ; //当鼠标在这个字体上悬停时的提示信息
    tcf.setFontFamily("楷体");  //设置字体
    tcf.setFontPointSize(30) ;//设置字体大小
    tc.insertText("天津",tcf); //在光标处插入文本
     //参数2  可选-字体

#   //利用文本光标对象插入HTML文本
     tc.insertHtml("<h3>塘沽</h3>");
        //自动移动光标



    qDebug()<<s;

利用文本光标对象插入图片:

    QTextCursor tc=ui->textEdit->textCursor();  //获取文本光标对象->QTextCursor
    tc.insertText("中国人");

    //利用文本光标对象插入图片
    QTextImageFormat tif = QTextImageFormat(); //创建文本图像格式
    tif.setName("a.jpg");  //设置图片
    tif.setWidth(100);  //设置图片宽度
    tif.setHeight(100);  //设置图片高度

    //tc.insertImage(tif,QTextFrameFormat::FloatLeft);//在光标处插入图片

    //tc.insertImage(tif,QTextFrameFormat::FloatLeft); //插入图片-非环绕
    /*参数2 图片位置
       QTextFrameFormat::FloatRight=2   在右边
       QTextFrameFormat::FloatLeft=1    在左边
       QTextFrameFormat::InFlow=0      在光标处--默认 */

    tc.insertImage("a.jpg");//在光标处插入图片
    //原始大小

 

以下内容 看看:https://www.cnblogs.com/liming19680104/p/10357263.html  

利用文本光标对象插入文本片段:

列表-word的项目编号和项目符号:

表格:

插入文本块-段落:

框架:

 

格式设置和合并:

 

设置块格式[段落格式]:

 

设置当前(选中)字符格式: 

 

合并格式: 

 

获取内容和格式相关: 

 

利用文本光标操作光标:

获取选中的内容: 

获取选中的内容: 

开始和结束编辑标识:

开始和结束编辑标识:

软换行模式:--文本内容超过一行时如何处理

覆盖或插入

光标宽度

段落对齐方式:

字体格式:

颜色设置

字符格式和合并

大小写格式

常用编辑操作

滚动到锚点

只读

制表符

信号

 

 

 

 

 

 

 

posted @ 2020-10-06 19:57  天子骄龙  阅读(6695)  评论(0编辑  收藏  举报