目录

一、设置显示内容的两种方式(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);

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐