3

私は Qt 4.7 を使用しています。QWidget の background-image CSS を qrc の画像に設定しています。

問題は、画像が高解像度で、その左上部分だけが表示されていることです。収まるように縮小できません。CSS3 で「background-size : contain」プロパティを見ましたが、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 に答える