Fix AlertDialog wordwrap display problem.

This commit is contained in:
sunwen
2024-05-09 16:17:50 +08:00
parent 2bda20d835
commit 580f221338

View File

@@ -16,20 +16,24 @@ AlertDialog::AlertDialog(QWidget *parent, Qt::WindowFlags f)
mLblTitle->setAlignment(Qt::AlignCenter); mLblTitle->setAlignment(Qt::AlignCenter);
mLblTitle->setText(tr("Warning")); mLblTitle->setText(tr("Warning"));
mLblTitle->setObjectName("AlertDialogTitle"); mLblTitle->setObjectName("AlertDialogTitle");
QFont font;
font.setPointSize(32);
mLblMsg->setFont(font);
mLblMsg->setWordWrap(true); mLblMsg->setWordWrap(true);
mLblMsg->setMinimumHeight(70);
layout->addWidget(mLblTitle); layout->addWidget(mLblTitle);
layout->addWidget(mLblMsg); layout->addWidget(mLblMsg);
} }
void AlertDialog::setAlertMessage(const QString &msg) { void AlertDialog::setAlertMessage(const QString &msg)
{
mLblMsg->setText(msg); mLblMsg->setText(msg);
if (msg.length()>28) QFont font = mLblMsg->font();
{ QFontMetrics metrics(font);
mLblMsg->setWordWrap(true); int width = metrics.width(mLblMsg->text());
} mLblMsg->setFixedHeight(metrics.lineSpacing() * (width / this->width()) + 30 );;
} }
void AlertDialog::setTitle(const QString &msg) { void AlertDialog::setTitle(const QString &msg)
{
mLblTitle->setText(msg); mLblTitle->setText(msg);
} }