问题原因:
使用QWizard
或者QWizardPage
设置像素图,结果设置完不显示效果。
设置示例:
setPixmap(QWizard::WatermarkPixmap, QPixmap("xxx/xxx/xxx.png"));
setPixmap(QWizard::BackgroundPixmap, QPixmap("xxx/xxx/xxx.png"));
setPixmap(QWizard::LogoPixmap, QPixmap("xxx/xxx/xxx.png"));
setPixmap(QWizard::BannerPixmap, QPixmap("xxx/xxx/xxx.png"));
预期显示效果:
解决方案
首先,我们先看下void setWizardStyle(WizardStyle style)
方法解释:
此属性保存向导的外观 默认情况下,QWizard在启用alpha合成的WindowsVista系统上使用AeroStyle,而不管当前的小部件样式如何。
如果不是这种情况,则默认的向导样式取决于当前小部件的样式如下:如果当前小部件的样式是QMacStyle,则默认为MacStyle,
如果当前小部件的样式是QWindowsStyle,则默认为ModernStyle,而在所有其他情况下默认为ClassicStyle。
说是默认为ClassicStyle
,但为啥不显示呢,说明需要手动调用其方法。
setWizardStyle(QWizard::ClassicStyle);
在构造中调用其setWizardStyle()
后,设置的像素图就像上图一样显示了。