QLabel标签的大小随着文字的增多跟着变大,自动换行,并且宽度保持不变
label->setGeometry(10,200,200,50);
label->setMinimumWidth(200);
label->setWordWrap(true);
label->setText(textEdit->toPlainText());
label->adjustSize();
范例
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QDebug>
#include <QLabel>
#include <QTextEdit>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
QTextEdit *textEdit;
QLabel *label;
private slots:
void slot_labelText();
};
#endif
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
this->setFixedSize(400,600);
textEdit = new QTextEdit(this);
textEdit->setGeometry(10,10,200,100);
label = new QLabel(this);
label->setGeometry(10,200,200,50);
label->setWordWrap(true);
label->setStyleSheet("QLabel{background-color:rgb(200,101,102);}");
connect(textEdit,SIGNAL(textChanged()),this,SLOT(slot_labelText()));
}
Widget::~Widget()
{
}
void Widget::slot_labelText()
{
label->setText(textEdit->toPlainText());
label->adjustSize();
label->setFixedWidth(200);
}