qt如何改变qtextedit中某字符串的颜色?

lin_kin_p 2015-10-10 11:21:03
目前textedit中最多显示十条信息,要显示的信息保存在一个 qlist中。假如要对不同类型的消息采用不同的颜色,比如警告的用红色等等,要怎么做?百度到可以用sethtml来改变,但是那个好像要提前知道字符串的内容。
...全文
1553 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈哈王戈多 2019-06-05
  • 打赏
  • 举报
回复
void Form::setTextColor(const QString &strErrMsg) { QString strALL=ui->textEdit->toPlainText();//ok ui->label_errMsg->setText(strErrMsg); QStringList outList; testVecx(strErrMsg,outList); for(int i=0;i<outList.size();i++) { QString to_find_text=outList.at(i); //把光标位置再次设置到0 QTextCursor tmpCursor = ui->textEdit->textCursor(); tmpCursor.setPosition(0); ui->textEdit->setTextCursor(tmpCursor); QString strAll = ui->textEdit->toPlainText(); while(ui->textEdit->find(to_find_text)) { QTextCursor find_cursor=ui->textEdit->textCursor(); QTextCharFormat plainFormat(find_cursor.charFormat()); QTextCharFormat colorFormat = plainFormat; colorFormat.setForeground(Qt::red); ui->textEdit->mergeCurrentCharFormat(colorFormat); } } //把光标位置再次设置到0 QTextCursor tmpCursor = ui->textEdit->textCursor(); tmpCursor.setPosition(0); ui->textEdit->setTextCursor(tmpCursor); }
哈哈王戈多 2019-05-29
  • 打赏
  • 举报
回复
for(int i=0;i<vecErrorItems.size();i++) { string stmp=vecErrorItems.at(i); QString to_find_text(stmp.c_str()); while(ui->textEdit->find(to_find_text,QTextDocument::FindBackward)) { QTextCursor find_cursor=ui->textEdit->textCursor(); QTextCharFormat plainFormat(find_cursor.charFormat()); QTextCharFormat colorFormat = plainFormat; colorFormat.setForeground(Qt::red); ui->textEdit->mergeCurrentCharFormat(colorFormat); // QPalette palette=ui->textEdit->palette(); //palette.setColor(QPalette::Highlight,QColor(107,194,53)); //ui->textEdit->setPalette(palette); } }
lin_kin_p 2015-10-10
  • 打赏
  • 举报
回复
static QList<QString> MsgList;
	//最多显示十条消息
	if (MsgList.size() > 10)
		MsgList.pop_front();
	MsgList.append(Msg);
	QString Text;
	for (QList<QString>::iterator it = MsgList.begin(); it != MsgList.end(); it++)
	{
		Text += *it;
	}
	mScrollEdit->setText(Text);
然后有个槽函数,当内容改变时,自动将光标移动到底,简单实现滚动的效果。

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧