QTextEdit设置当前行的文本的颜色和字体 您所在的位置:网站首页 怎么设置每行的字符 QTextEdit设置当前行的文本的颜色和字体

QTextEdit设置当前行的文本的颜色和字体

2024-05-29 07:18| 来源: 网络整理| 查看: 265

思路

设置当前行文本的格式 需要使用到QTextCharFormat类,设置它的文本颜色或者文本字体,然后并获取 当前文本的光标,从光标开始位置设置文本的字符格式。

代码

1、设置文本当前行的颜色

void MainWindow::setInsertTextColor(const QColor &color) { QTextCharFormat fmt;//文本字符格式 fmt.setForeground(color);// 前景色(即字体色)设为color色 QTextCursor cursor = ui->infoTextEdit->textCursor();//获取文本光标 cursor.mergeCharFormat(fmt);//光标后的文字就用该格式显示 ui->infoTextEdit->mergeCurrentCharFormat(fmt);//textEdit使用当前的字符格式 }

2、设置文本当前行的字体

 

void MainWindow::setInsertTextFont(const QFont &font) {     QTextCharFormat fmt;//文本字符格式     fmt.setFont(font);//字体     QTextCursor cursor = ui->m_textdisplay->textCursor();//获取文本光标     cursor.mergeCharFormat(fmt);//光标后的文字就用该格式显示     ui->m_textdisplay->mergeCurrentCharFormat(fmt);//textEdit使用当前的字符格式 }

3、使用总结

//设置时间颜色与字体     setInsertTextFont(timeFont);     setInsertTextColor(timeColor);     ui->infoText->append(curTime.toString());

4.设置某一部分字体颜色改变

QTextCharFormat fmt;//文本字符格式 fmt.setForeground(QColor("red"));// 前景色(即字体色)设为color色 QString str1 = ui->textEdit->toPlainText(); QTextCursor cursor = ui->textEdit->textCursor();//获取文本光标 ui->textEdit->setFocus(); cursor.setPosition(0,QTextCursor::MoveAnchor); cursor.setPosition(5,QTextCursor::KeepAnchor); cursor.mergeCharFormat(fmt);//光标后的文字就用该格式显示 ui->textEdit->mergeCurrentCharFormat(fmt);//textEdit使用当前的字符格式

QTextCharFormat fmt;//文本字符格式 fmt.setForeground(QColor("red"));// 前景色(即字体色)设为color色 QString str1 = ui->textEdit->toPlainText(); QTextCursor cursor = ui->textEdit->textCursor();//获取文本光标 ui->textEdit->setFocus(); cursor.setPosition(0,QTextCursor::MoveAnchor); cursor.setPosition(2,QTextCursor::KeepAnchor); cursor.mergeCharFormat(fmt);//光标后的文字就用该格式显示 ui->textEdit->mergeCurrentCharFormat(fmt);//textEdit使用当前的字符格式 cursor.setPosition(6,QTextCursor::MoveAnchor); cursor.setPosition(8,QTextCursor::KeepAnchor); cursor.mergeCharFormat(fmt);//光标后的文字就用该格式显示 ui->textEdit->mergeCurrentCharFormat(fmt);//textEdit使用当前的字符格式

 

5.选中某一段文本

//此时光标所在的位置 QTextCursor cursor = ui->textEdit->textCursor(); //选中从start到end的这一段文本 int start = cursor.position(); int end = cursor.position()+5; cursor.setPosition(start,QTextCursor::MoveAnchor); cursor.setPosition(end,QTextCursor::KeepAnchor); ui->textEdit->setTextCursor(cursor);

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有