QTextEdit详解(设置显示内容的两种方式(setPlainText/insertPlainText、滚动条自动(往下、往上)滚动……) |
您所在的位置:网站首页 › 获取控件内容的方法是 › 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); |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |