我正在使用Qt 4.7,我将qWidget的背景图像CSS设置为来自qrc的图像。
问题是图像是高分辨率,只有它的左上部分显示,我无法缩小以适应。在CSS3中,我看到了一个“background-size:contain”属性,但我担心它在Qt 4.7中不起作用。
无法找到使图像适合窗口的方法。有任何想法吗 ? 我不介意以编程方式进行。
由于
答案 0 :(得分:4)
您可以重新实施paintEvent
:
void Widget::paintEvent(QPaintEvent *e)
{
QPainter painter(this);
painter.drawPixmap(0, 0, QPixmap(":/new/prefix1/picture001.png").scaled(size()));
QWidget::paintEvent(e);
}
答案 1 :(得分:4)
如果QFrame与图像的宽高比相同,您可以在QFrame上使用CSS,如下所示:
QFrame
{
border-image: url(:/images/myimage.png) 0 0 0 0 stretch stretch;
border-width: 0px;
}