当QTextEdit中输入的文字长度过长,QTextEdit就会出现滚动条。如果不想出现滚动条,而想QTextEdit的高度随着文字的增加或减少而改变。
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QDebug>
#include <QTextEdit>
#include <QTextDocument>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
QTextEdit *textEdit;
private slots:
void slot_textChange();
};
#endif
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
this->setFixedSize(400,600);
textEdit = new QTextEdit(this);
textEdit->setGeometry(10,10,200,27);
connect(textEdit,SIGNAL(textChanged()),this,SLOT(slot_textChange()));
}
Widget::~Widget()
{
}
void Widget::slot_textChange()
{
QTextDocument *document = textEdit->document();
textEdit->setFixedHeight(document->size().height()+2);
qDebug()<<document->size().height();
}