包含ウィジェットを作成し、alphaプロパティを持つbackground-colorプロパティを使用してQSSスタイリングを追加することができます。次に、ネストされたウィジェットのレイアウトを整理するために、含まれているウィジェットにレイアウトを追加します。この手法を使用して、ネストされたコントロールの不透明度を維持しながら透明効果を実現します。次にいくつかのサンプルコードを示します。
setAttribute(Qt::WA_NoSystemBackground, true);
// set the parent widget's background to translucent
setAttribute(Qt::WA_TranslucentBackground, true);
setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
// create a display widget for displaying child widgets
QWidget* displayWidget = new QWidget;
displayWidget->setGeometry(0, 0, this->width(), this->height());
displayWidget->setStyleSheet(".QWidget { background-color: rgba(0, 0, 0, 75%); border-width: 1px; border-style: solid; border-radius: 5px; border-color: #555555; } .QWidget:hover { background-color: rgba(68, 68, 68, 75%); border-width: 2px; border-style: solid; border-radius: 10px; border-color: #ffffff; }");
QLabel* icon = new QLabel;
icon->setPixmap(pixmapIcon);
icon->setMaximumSize(32, 32);
QLabel* header = new QLabel;
header->setMaximumSize(225, 50);
header->setWordWrap(true);
header->setText(headerText);
header->setStyleSheet("QLabel { color: #ffffff; font-weight: bold; font-size: 12px; }");
QLabel* message = new QLabel;
message->setMaximumSize(225, 100);
message->setWordWrap(true);
message->setText(messageText);
message->setStyleSheet("QLabel { color: #ffffff; font-size: 10px; }");
QHBoxLayout* displayMainLayout = new QHBoxLayout;
displayMainLayout->addWidget(icon);
QVBoxLayout* vl = new QVBoxLayout;
vl->addWidget(header);
vl->addWidget(message);
displayMainLayout->addLayout(vl);
displayWidget->setLayout(displayMainLayout);
QHBoxLayout* containerLayout = new QHBoxLayout;
containerLayout->addWidget(displayWidget);
setLayout(containerLayout);
show();
このコードは、Qt TrayNotificationManagerプロジェクトから直接取得したものです。ここで完全なコードを表示して、コンテキストを取得できます:https ://github.com/pcmantinker/Tray-Notification-System
CSSに精通している場合、QSSは非常に似ていることに注意してください。すべてのQWidgetを特定の方法でスタイル設定する場合は、QWidgetセレクターを使用します。ただし、特定のQWidgetのスタイルを設定するだけの場合は、.QWidgetセレクターを使用してください。すべてのQWidgetsをスタイリングすると、表示されているすべてのQWidgetsが、各UI要素がQWidgetから派生したものと同じプロパティを継承するようになります。スタイルを作成するときは、このことを念頭に置いてください。QSSへの参照は次のとおりです:http://qt-project.org/doc/qt-4.8/stylesheet.html
外観のサンプル画像を次に示します
。Windows7MacOS
XLionUbuntu

これがお
役に立てば幸いです。ご不明な点がございましたら、お気軽にお問い合わせください。

