3

我正在使用 Qt 4.7 ,我将 QWidget 的背景图像 CSS 设置为来自我的 qrc 的图像。

问题是图像是高分辨率的,并且只显示了左上角,我无法将其按比例缩小以适应。在 CSS3 中,我看到了一个“背景大小:包含”属性,但我担心它在 Qt 4.7 中不起作用。

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

谢谢

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

4

2 回答 2

5

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

QFrame
{
   border-image: url(:/images/myimage.png) 0 0 0 0 stretch stretch;
   border-width: 0px;
}
于 2013-02-05T20:05:08.567 回答
4

您可以重新实施paintEvent

void Widget::paintEvent(QPaintEvent *e)
{
    QPainter painter(this);
    painter.drawPixmap(0, 0, QPixmap(":/new/prefix1/picture001.png").scaled(size()));
    QWidget::paintEvent(e);
}
于 2013-02-05T11:19:49.900 回答