以下方法收集自网络
使用 QTextDocument 的 contentsChanged 信号可以解决此问题。
QTextEdit *editor = new QTextEdit(this);
...
connect(editor->document(),SIGNAL(contentsChanged()),this,SLOT(textAreaChanged()));
...
private slots:
void textAreaChanged()
{
QTextDocument *document=qobject_cast<QTextDocument*>(sender());
document->adjustSize();
if(document)
{
QTextEdit *editor=qobject_cast<QTextEdit*>(document->parent()->parent());
if (editor)
{
int newheight = document->size().rheight()+10;
if (newheight != editor->height())
{
editor->setFixedHeight(newheight);
}
}
}
}
QTextBrowser 同上。
版权声明:本文为qiangzi4646原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。