どうすれば画像を再スケーリングしてqwidgetに設定できますか?
質問
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);
ただし、ウィジェットには画像が表示されません。
解決
スケーリングされた画像をウィジェットに表示しようとしていますか?ブラシに画像を設定してから、パレットにブラシを設定することが正しいアプローチだとは思いません。
qlabelを使用して、ウィジェットに画像を表示することができます。このような:
QPixmap pic("../image.png");
QPixmap scaled=pic.scaled ( 800, 480, Qt::IgnoreAspectRatio, Qt::FastTransformation );
QLabel *label = new QLabel(this);
label->setPixmap(scaled);
他のヒント
パレットを設定する前に、ウィジェットを表示しています。最初にパレットを設定してみてください。
それが役に立たない場合は、完全なファイルパスを指定してみてください。
所属していません StackOverflow