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->setText(tr("Warning"));
mLblTitle->setObjectName("AlertDialogTitle");
QFont font;
font.setPointSize(32);
mLblMsg->setFont(font);
mLblMsg->setWordWrap(true);
mLblMsg->setMinimumHeight(70);
layout->addWidget(mLblTitle);
layout->addWidget(mLblMsg);
}
void AlertDialog::setAlertMessage(const QString &msg) {
void AlertDialog::setAlertMessage(const QString &msg)
{
mLblMsg->setText(msg);
if (msg.length()>28)
{
mLblMsg->setWordWrap(true);
}
QFont font = mLblMsg->font();
QFontMetrics metrics(font);
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);
}