メイン ウィンドウの背景として画像を追加したいと思います。
この背景画像を追加する最良の方法は何ですか?
メイン ウィンドウの残りの部分は透明にする必要があります。
エディターでこれを行いたいですQtCreator
(このコンポーネントの場合、コードはありません)
メイン ウィンドウの背景として画像を追加したいと思います。
この背景画像を追加する最良の方法は何ですか?
メイン ウィンドウの残りの部分は透明にする必要があります。
エディターでこれを行いたいですQtCreator
(このコンポーネントの場合、コードはありません)
次の手順で背景画像を追加できMainWindow
ます。
QPixmap
、イメージへのパスを指定します。QPalette
設定し、それをに設定します。QBrush
ColorRole
QPalette::Background
MainWindow
パレットを作成したパレットに設定します。MainWindow
例として、次の行をクラスのコンストラクターに追加できます。
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPixmap bkgnd("/home/user/Pictures/background.png");
bkgnd = bkgnd.scaled(this->size(), Qt::IgnoreAspectRatio);
QPalette palette;
palette.setBrush(QPalette::Background, bkgnd);
this->setPalette(palette);
}
これの利点は、css スタイルシート構文を使用または学習することなく、プログラムで背景画像を変更/変更できることです。
メイン ウィンドウ フォームの編集中にstyleSheetプロパティを見つけ、次のように入力します。
background: url(:/path/to-your-resource.png)
たとえば、作成した場合<QGraphicsScene>
。scene
メインウィンドウで、次のことができますscene->setBackgroundBrush(QBrush(QImage(":/path/to/img.extension")));
。最初にイメージを QT リソースとしてプロジェクトに追加する必要があります。これをパス/引数で指定し:
ます。
たとえば、以前に設定したはずのシーンの寸法に準拠する画像を提供する必要があります。scene->setSceneRect(0,0,myWidth,myHeight);
.