标签:qt qtextedit qtextform 修改字符格式
void Widget::setCharColor(unsigned int pos)
{
if(pos <= 0)return ;
QTextCursor cursor = ui->view1->textCursor();
cursor.movePosition( QTextCursor::StartOfLine );//行首
cursor.movePosition( QTextCursor::Right, QTextCursor::MoveAnchor, pos-1);//向右移动到Pos
cursor.movePosition( QTextCursor::NextCharacter, QTextCursor::KeepAnchor );
ui->view1->setTextCursor( cursor ); // added
QTextCharFormat defcharfmt = ui->view1->currentCharFormat();
QTextCharFormat newcharfmt = defcharfmt;
newcharfmt.setFontUnderline( true );
newcharfmt.setUnderlineColor( QColor( Qt::red ) );
newcharfmt.setUnderlineStyle( QTextCharFormat::SingleUnderline );
ui->view1->setCurrentCharFormat( newcharfmt );
cursor.movePosition( QTextCursor::PreviousCharacter );//加上这句是为了去除光标selected
ui->view1->setTextCursor( cursor ); // added
// ui->view1->setCurrentCharFormat( defcharfmt );
ui->view1->setFocus();
}
常用格式:
【newcharfmt.setBackground(QColor("#EEEE00"));】
【newcharfmt.setFontPointSize(fontSize);】
【newcharfmt.setFontWeight(QFont::Bold);】
【highlightedFormat.setBackground(Qt::yellow);】
【newcharfmt.setForeground(Qt::red);】
注意:【上面的操作会促发textchanged槽函数,所以用到槽函数的时候注意下,加个标志判断下就好了】
说明:【curso.movePositon,,,//加上这句....ed】
不加上时效果如下:
加上时效果如下:
附:
版权声明:本文为博主[原创]文章,未经博主允许可以转载,注明博客出处:[http://blog.csdn.net/FreeApe]
标签:qt qtextedit qtextform 修改字符格式
原文地址:http://blog.csdn.net/freeape/article/details/48012401