Если изображение установлено, как с QWizard::WatermarkPixmap
на QWizard::ModernStyle
, высота будет заблокирована, несмотря ни на что.
Чтобы обойти это, используйте setSideWidget()
.
В конструкторе для вашего подкласса QWizard
this->setWizardStyle(QWizard::ModernStyle);
// setPixmap(QWizard::WatermarkPixmap, QPixmap(":/watermark.gif"));
QWidget * sideWidget = new QWidget();
QGridLayout * gridLayout = new QGridLayout();
QLabel * label = new QLabel();
label->setPixmap(QPixmap(":/watermark.gif"));
sideWidget->setLayout(gridLayout);
gridLayout->addWidget(label);
this->setSideWidget(sideWidget);
//this->setSizePolicy(QSizePolicy::MinimumExpanding ,QSizePolicy::MinimumExpanding );
И, наконец, чтобы настроить поле заголовка при изменении размера шрифта, проще всего взломать высоту растрового изображения и установить его вQWizard :: LogoPixmap.
int numOfLinesInTitleBox = 2;
QPixmap p(1,this->fontMetrics().height()*numOfLinesInTitleBox);
p.fill(Qt::transparent);
setPixmap(QWizard::LogoPixmap, p);
this->adjustSize();
Надеюсь, это поможет.