// 列举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);

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐