2009-08-13 21 views
5

実行時にQFrameの背景を変更したいが、ディスク(画像)から背景をロードする。 イメージがリソース内にないため、QFrameでのスタイルシートの設定が機能しません。ディスクからロードされた背景画像を設定する

QPixmap img("/images/01.png"); 
ui.pushButton->setIcon(QIcon(img)); 

しかし、のQPushButtonは、私には有用ではありません。

一つの方法は、例えば、のQPushButtonアイコンを設定されています。私はQFrameの中に他のものを入れる必要があります。

答えて

5

私はあなたの質問で理解したところから、あなたはリソースを使いたくないですか? その場合は同様に、あなたが何かを行うことができます:あなたはまた、このような何かを試みることができる

ui->frame->setFrameStyle(QFrame::StyledPanel); 
ui->frame->setStyleSheet("background-image: url(C:/test.jpg)"); 
+0

パーフェクトを、これは私が探していたものです。 このようにバックグラウンドを適用できるかどうかはわかりませんでした。 Tanks! –

4

QPalette pal; 
pal.setBrush(ui.frame->backgroundRole(), QBrush(QImage("/images/01.png"))); 
ui.frame->setPalette(pal); 
+0

これはQWidgetでも機能します。 –

関連する問題