Главная » C++ » QProgressDialog: Как настроить размер диалога в соответствии с его содержимым?
QProgressDialog: Как настроить размер диалога в соответствии с его содержимым?
Я тестирую с кодом ниже:
QProgressDialog* dialog = new QProgressDialog("Message", "Close", 0, 10);
dialog->setWindowTitle("Long Long Long Long Title");
dialog->setCancelButtonText("Long Long Long Click this button to cancel");
dialog->setWindowModality(Qt::ApplicationModal);
dialog->adjustSize();
dialog->setValue(5);
Заголовок и текст кнопки отмены обрезаются. Я вызвал AdjustSize (), но это не сработало. Как настроить размер диалога в соответствии с его содержимым?
Вы можете использовать следующее: используйте QLayout …
QProgressDialog* dialog = new QProgressDialog("Message", "Close", 0, 10);
dialog->setWindowTitle("Long Long Long Long Title");
dialog->setCancelButtonText("Long Long Long Click this button to cancel");
dialog->setWindowModality(Qt::ApplicationModal);
dialog->setValue(5);
QVBoxLayout *layout = new QVBoxLayout;
foreach (QObject *obj, dialog->children()) {
QWidget *widget = qobject_cast<QWidget *>(obj);
if (widget)
layout->addWidget(widget);
}
dialog->setLayout(layout);