如果标签尺寸小,QLabel setText 不显示 QLineEdit 的文本
QLabel setText not displaying text of QLineEdit if label size small
我有一个 QLabel,我想在其中显示来自 QLineEdit 的文本。行编辑的大小比标签大所以我想显示以虚线结尾的标签
ui->LE_Serverpath// contains 20 charecters
ui->LB_UsernameInfo // having size of 10 charecters
ui->LB_UsernameInfo->setText(ui->LE_Serverpath->text());
使用自动换行,该行被截断了,但我需要在末尾加上虚线
ui->LB_UsernameInfo->setWordWrap(true);
您必须为标签设置一个 ElideMode,您需要一个来自标签字体的 QFontMetrics
实例,然后为标签设置文本省略模式。要在行尾显示点,请在文本复制形式 QLieEdit
:
上将 ElidMode 设置为 Qt::ElideRight
//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);
使用 Qt 的布局 类,它会根据文本宽度调整大小。
我有一个 QLabel,我想在其中显示来自 QLineEdit 的文本。行编辑的大小比标签大所以我想显示以虚线结尾的标签
ui->LE_Serverpath// contains 20 charecters
ui->LB_UsernameInfo // having size of 10 charecters
ui->LB_UsernameInfo->setText(ui->LE_Serverpath->text());
使用自动换行,该行被截断了,但我需要在末尾加上虚线
ui->LB_UsernameInfo->setWordWrap(true);
您必须为标签设置一个 ElideMode,您需要一个来自标签字体的 QFontMetrics
实例,然后为标签设置文本省略模式。要在行尾显示点,请在文本复制形式 QLieEdit
:
Qt::ElideRight
//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);
使用 Qt 的布局 类,它会根据文本宽度调整大小。