QWidget 背景图片适合

Noo*_*oob 3 qt background-image qwidget

我正在使用 Qt 4.7 ,我从我的 qrc 中设置了 QWidget 的背景图像 CSS 图像。

问题是图像是高分辨率的,只有左上角显示,我无法缩小以适应。在 CSS3 中,我看到了一个“background-size : contains”属性,但我担心它在 Qt 4.7 中不起作用。

找不到使图像适合窗口的方法。有任何想法吗 ?我不介意以编程方式进行。

谢谢

已解决: http : //www.developer.nokia.com/Community/Wiki/Archived :Load,_Resize_image_and_set_background_image_in_Qt_application/ widget

s4e*_*eed 5

您可以重新实现paintEvent

void Widget::paintEvent(QPaintEvent *e)
{
    QPainter painter(this);
    painter.drawPixmap(0, 0, QPixmap(":/new/prefix1/picture001.png").scaled(size()));
    QWidget::paintEvent(e);
}
 
Run Code Online (Sandbox Code Playgroud)


cpp*_*guy 5

如果 QFrame 与图像的纵横比相同,您可以在 QFrame 上使用 CSS,如下所示:

QFrame
{
   border-image: url(:/images/myimage.png) 0 0 0 0 stretch stretch;
   border-width: 0px;
}
Run Code Online (Sandbox Code Playgroud)