QLabel自动换行(支持中英文)

QLabel支持提供了API,只有中文换行,因为中文里面含有空格换行符号,如下
LabelName->setWordWrap(true);
LabelName->setAlignment(Qt::AlignTop);

如果你输入了英文里面提供了换行符号或者空格,英文也可以支持换行

QString str = "fdsfa";
str= str+"\n" +"fdddddddddddddd23";
ui->label->setText(str);

显示的结果是这样:

fdsfa

fdddddddddddddd23

如果我们换位思考一下,label显示的内容QString,在此之前,我们只要对字符串进行处理就行了,下面我尝试一种方法然大家参考
void setText(const QString &)

QString event::AutoFeed(QString text)
{
     QString strText = text;
     int AntoIndex = 1;
     if(!strText.isEmpty())
     {

         for(int i = 1;ilabel->setText(AutoFeed(text));
}

在写的过程中,我们不要返回Qstring& 因为局部变量生命周期结束后,你还占用着地址,非法占用,会造成程序crash

你可能感兴趣的:(qt)