0

質問を表現するためのより良い方法があるかもしれませんが、それが現時点で私が考えることができる最高のものです. とにかく問題はこれです。

QMainWindow の背景として使用する PNG ファイルがあり、スタイルシートを使用して設定しています。唯一の問題は、pngファイルでアルファチャンネルを使用した角を丸くすることです。

チャネルは透明ですが、その下には QMainWindow のおかげで (透明ではなく) 灰色が表示されます。スタイルシート自体で背景を透明にしてみましたが黒くなってしまいました。

以下に指定する方法で設定しています。

void MainWindow::setBackgroundImage(QString file)
{
    QString sheet = QString("MainWindow {border-image:url(%1); }").arg(file);
    this->setStyleSheet(sheet);
}

(background-image を使用してみましたが、内容に合わないため、代わりに border-image タグを使用しています)。アルファチャンネルの領域を透明に見せる方法を知っている人はいますか?

4

1 に答える 1

-1

次も設定する必要があります。

QMainWindow::setAttribute(Qt::WA_TranslucentBackground, true);
于 2014-03-28T14:40:27.680 に答える