Qt QTextEdit的简单使用,设置字体,颜色,大小,图片,获取行数,字数,设置最大行数

 // 列举qt支持的所有中文字体
    //QFontDatabase fontDatabase;
//    for(auto it:fontDatabase.families(QFontDatabase::SimplifiedChinese))
//    {
//        qDebug()<<it;
    //}
    // 列出系统支持的所有字体
//    for (auto it:fontDatabase.families())
//    {qDebug()<<it;}

   // ui->textEdit->setReadOnly(true);
    // 设置font14px,微软雅黑,浅绿色显示
    QFont font = QFont("Microsoft YaHei",20,2);
//    font.setFamily("微软雅黑");//字体
//    font.setPixelSize(25);
//    font.setPointSize(20);
    //font.setUnderline(true);
    //font.setStrikeOut(true);
    //font.setOverline(true);
    //font.setItalic(true);
    //font.setBold(true);
    //font.setStyle(QFont::StyleOblique);
    //font.setCapitalization(QFont::Capitalize);
    QString msg = "1测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试";
    ui->textEdit->setFont(font);
    ui->textEdit->append(msg);
    // 选中该行文字
    QTextCursor cursor = ui->textEdit->textCursor();
    cursor.setPosition(cursor.position(),QTextCursor::MoveAnchor);
    cursor.setPosition(cursor.position()+msg.length(),QTextCursor::KeepAnchor);
    cursor.select(QTextCursor::WordUnderCursor);
    QTextCharFormat fmt;
    QPainter p(this);
    fmt.setForeground(Qt::blue);//设置选中行的字体颜色
    fmt.setFont(QFont("YouYuan",20,QFont::Bold,true));//参数依次是字体,大小,字体的粗细,以及是否斜体
    cursor.mergeCharFormat(fmt);
    cursor.clearSelection();
    cursor.movePosition(QTextCursor::EndOfLine);//cursor和anchor均移至末尾

    msg = "2测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试";
    ui->textEdit->append(msg);
    cursor.setPosition(cursor.position(),QTextCursor::MoveAnchor);
    cursor.setPosition(cursor.position()+msg.length(),QTextCursor::KeepAnchor);
    cursor.select(QTextCursor::WordUnderCursor);
    fmt.setForeground(Qt::red);
    fmt.setFont(QFont("Microsoft YaHei",8));
    cursor.mergeCharFormat(fmt);
    cursor.clearSelection();
    cursor.movePosition(QTextCursor::EndOfLine);//cursor和anchor均移至末尾

    //插入一张图片
    QTextDocumentFragment fragment;
    fragment =  QTextDocumentFragment::fromHtml("<img src='c:\\Setting.png'>");
    ui->textEdit->append("");
    ui->textEdit->textCursor().insertFragment(fragment);
    msg = "2测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试";
    cursor.insertText(msg);
    ui->textEdit->append(msg);
    // 获取行数、字数,设置最大行数
    int lineCount = ui->textEdit->document()->lineCount();
    qDebug()<<"行数:"<<lineCount;
    qDebug()<<"字数:"<<ui->textEdit->document()->characterCount();
    ui->textEdit->document()->setMaximumBlockCount(5);

  • 7
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值