我正在使用Qt 4.7,我從我的qrc設置QWidget的背景圖像CSS圖像。QWidget背景圖像適合
問題是圖像是高分辨率,只有它的左上部分顯示,我不能讓它縮小以適應。在CSS3中,我看到一個「background-size:contains」屬性,但我擔心它在Qt 4.7中不起作用。
無法找到使圖像適合窗口的方法。有任何想法嗎 ? 我不介意以編程方式進行。
感謝
我正在使用Qt 4.7,我從我的qrc設置QWidget的背景圖像CSS圖像。QWidget背景圖像適合
問題是圖像是高分辨率,只有它的左上部分顯示,我不能讓它縮小以適應。在CSS3中,我看到一個「background-size:contains」屬性,但我擔心它在Qt 4.7中不起作用。
無法找到使圖像適合窗口的方法。有任何想法嗎 ? 我不介意以編程方式進行。
感謝
您可以重新實現paintEvent
:
void Widget::paintEvent(QPaintEvent *e)
{
QPainter painter(this);
painter.drawPixmap(0, 0, QPixmap(":/new/prefix1/picture001.png").scaled(size()));
QWidget::paintEvent(e);
}
如果QFrame是相同的縱橫比,你可以使用CSS的QFrame類的圖像這個:
QFrame
{
border-image: url(:/images/myimage.png) 0 0 0 0 stretch stretch;
border-width: 0px;
}
將圖像延伸到邊框的邊緣,是否有辦法保持寬高比? – Troyseph
Thi s可能有點過時,但使用Qt 5.7,在我的paintEvent函數的末尾添加'QWidget :: paintEvent(e);'會使我的程序崩潰,並且不是必需的。 – JonSean