QTextEdit详解(设置显示内容的两种方式(setPlainText/insertPlainText、滚动条自动(往下、往上)滚动……)

目录

一、设置显示内容的两种方式(setPlainText/insertPlainText)

二、滚动条自动(往下、往上)滚动

三、如何设置背景颜色/背景图片 


一、设置显示内容的两种方式(setPlainText/insertPlainText)

1、void setPlainText ( const QString & text )

    m_tcpRecText->setPlainText(sTemp);

2、void QTextEdit::insertPlainText ( const QString & text )

    m_tcpRecText->insertPlainText(sTemp);

两者设置的区别:

第一种方法每次显示之前都会清空之前显示的内容

第二种方法则不会自动清空,内容会一直在

3、 获取QTextEdit文本内容:QString toPlainText () const

    QString m_sXml = m_tcpRecText->toPlainText();

二、滚动条自动(往下、往上)滚动

前因:用textedit接受数据,但是超过当前文本框大小后不会跟着走就看不见最新接收的数据

解决方法:连接信号textChanged()每当有新数据,将自动滚动到底部:

   QTextEdit *m_tcpRecText = new  QTextEdit();
   connect(m_tcpRecText,SIGNAL(textChanged()),SLOT(slotTextTcpChanged()));
 
   //槽函数里的内容
   m_tcpRecText->moveCursor(QTextCursor::End);

当然修改moveCursor里的参数有不同的效果:

QTextCursor::Start移动到文档的开头
QTextCursor::StartOfLine移动到当前行的开头
QTextCursor::End移动到文档末尾
QTextCursor::EndOfLine移动到当前行的末尾(内容够多的话,效果和end的一样)

 

三、如何设置背景颜色/背景图片 

·设置背景颜色

    m_recText = new QTextEdit();
    m_recText->setReadOnly(true);
    QPalette pal = m_recText->palette();
    // 设置画刷,填充背景颜色
    pal.setBrush(QPalette::Base, QColor("#B4EEB4"));
    // 取消继承父类的背景样式
    m_recText->setAutoFillBackground(true);
    // QTextEdit设置调色板,即填充了背景图片
    m_recText->setPalette(pal);

·设置背景图片

    // 定义图片路径
	const QString fileName = "C:/1.jpg";   
	QPalette pal = m_recText->palette();
	
	// 设置画刷,填充背景图片,且调整了图片大小
	pal.setBrush(QPalette::Base, QPixmap(fileName).scaled(m_recText->size()));
	// 取消继承父类的背景样式
	m_recText->setAutoFillBackground(true);
	// QTextEdit设置调色板,即填充了背景图片
	m_recText->setPalette(pal);

  • 16
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼2333号程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值