3
QPixmap pic("../image.jpg");

setAutoFillBackground(true);
QPalette palette;
QPixmap scaled=pic.scaled ( 800, 480, Qt::IgnoreAspectRatio, Qt::FastTransformation );

palette.setBrush(QPalette::Window, QBrush(scaled));

//this->setPalette(palette);
QWidget *w= new QWidget(this);
w->setGeometry(0,0,800,480);
w->show();
w->setPalette(palette); 

ただし、ウィジェットには画像が表示されません。

4

2 に答える 2

7

拡大縮小された画像をウィジェットに表示しようとしているだけですか?ブラシに画像を設定してからパレットにブラシを設定するのは正しい方法ではないと思います。

QLabelを使用して、ウィジェットに画像を表示できます。このような:

QPixmap pic("../image.png");
QPixmap scaled=pic.scaled ( 800, 480, Qt::IgnoreAspectRatio, Qt::FastTransformation );

QLabel *label = new QLabel(this);
label->setPixmap(scaled);
于 2012-01-10T17:30:49.383 に答える
0

パレットを設定する前にウィジェットを表示しています。最初にパレットを設定してみてください。

それでも問題が解決しない場合は、ファイルのフルパスを指定してみてください。

于 2018-09-19T16:14:26.417 に答える