5

メイン ウィンドウの背景として画像を追加したいと思います。

この背景画像を追加する最良の方法は何ですか?

メイン ウィンドウの残りの部分は透明にする必要があります。

エディターでこれを行いたいですQtCreator(このコンポーネントの場合、コードはありません)

4

3 に答える 3

15

次の手順で背景画像を追加できMainWindowます。

  1. を作成しQPixmap、イメージへのパスを指定します。
  2. を作成し、それをピックスマップでQPalette設定し、それをに設定します。QBrushColorRoleQPalette::Background
  3. 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 スタイルシート構文を使用または学習することなく、プログラムで背景画像を変更/変更できることです。

于 2014-04-22T18:58:15.783 に答える
8

メイン ウィンドウ フォームの編集中にstyleSheetプロパティを見つけ、次のように入力します。

background: url(:/path/to-your-resource.png)
于 2013-06-13T21:10:26.967 に答える
0

たとえば、作成した場合<QGraphicsScene>sceneメインウィンドウで、次のことができますscene->setBackgroundBrush(QBrush(QImage(":/path/to/img.extension")));。最初にイメージを QT リソースとしてプロジェクトに追加する必要があります。これをパス/引数で指定し:ます。

たとえば、以前に設定したはずのシーンの寸法に準拠する画像を提供する必要があります。scene->setSceneRect(0,0,myWidth,myHeight);.

于 2018-04-22T23:10:05.860 に答える