我有一个QLabel,我想在其中显示QLineEdit中的文本。行编辑的大小比标签大,所以我想显示以虚线结尾的标签
ui->LE_Serverpath// contains 20 charecters
ui->LB_UsernameInfo // having size of 10 charecters
ui->LB_UsernameInfo->setText(ui->LE_Serverpath->text());
使用wordwrap线路正在切割,但我最后需要虚线
ui->LB_UsernameInfo->setWordWrap(true);
答案 0 :(得分:0)
您必须为标签设置 ElideMode ,您需要标签字体中的QFontMetrics
实例,然后为标签设置文本elide模式。要在行尾显示点,请在复制的文本Qt::ElideRight
上将ElidMode设置为QLieEdit
:
//QFontMetrics metrics(ui->LB_UsernameInfo->font()); // QLabel already has font metrics
int width = ui->LB_UsernameInfo->width() - 2;
QString text = ui->LB_UsernameInfo->fontMetrics().elidedText(ui->LE_Serverpath->text(), Qt::ElideRight, width);
ui->LB_UsernameInfo->setText(text);
ui->LB_UsernameInfo->setWordWrap(true);
答案 1 :(得分:0)
使用Qt的布局类,它将根据文本宽度来处理调整大小。