2017-03-20 4 views
0

私はここに示すように、しかし、私は唯一の内側の背景(各QGroupBoxのタイトルの下に灰色の暗い影を)変更したい、QGroupBoxの背景を変更したいです enter image description here変更QGroupBoxのコンテンツの背景

のみ「インテリアボックス」の背景ではなく、全体のコンテナを変更するにはQtでの方法があります:このような全体QGroupBoxの背景が変化し

QGroupBox { 
    background-color: red; 
    border: 3px dashed black; 
} 

?前もって感謝します。

+0

内部グループボックスのスタイルシートを変更する必要があります。私が信じる外側のものではない。 – MateoConLechuga

+0

画像には2つのグループボックスがあるため、誤解を招くことがありますが、タイトル「完全性」と「部分基準」に焦点を当てると、色が付いている場所(タイトルの下)と色の付いた場所) –

+0

ああ、タイトルのためのスペースを残すためにスタイルシートに 'margin-top:1ex;'を追加するだけです。ごめんなさい;私は誤解しました。 – MateoConLechuga

答えて

1

を見て、私はそれがあなたから実際に明確ではないので、ここで関与2 QGroupBox'esが、そこにあると思います役職。または、グループボックスと他の内部コンテナウィジェットがありますか?いずれの場合も

次のようにスタイルシートを使用することができるはずです。

QGroupBox { 
    background-color: red; 
    margin-top:1em; 
} 
QGroupBox QGroupBox { 
    background-color: green; 
} 
QGroupBox::title { 
    subcontrol-origin: padding; 
    subcontrol-position: left top; 
    background: transparent; 
    margin-top: -2.5em; 
} 

これはあなたの次の結果得られます:あなたはもちろんのことで、内部グループボックスを置き換えることができます

Example

を任意のウィジェット。

+0

それは私が考えたものです!負のマージンはそのトリックです。 –

0

ウィジェットの「setStyleSheet」機能を使用して行うことができます。

内側のグループボックスオブジェクトを取得します。そして、 "setStyleSheet"関数を使って背景色を設定します。

擬似コード:

QGroupBox *innerGBox = new QGroupBox(); 

innerGBox->setStyleSheet("background-color: red"); 

リンクの下に参照して、プログラム的なスタイルの設定についての詳細を知っています。

http://doc.qt.io/qt-4.8/stylesheet-examples.html

1

は、あなたがしたいスタイルの種類、特にマージンについてもう少しのQtを伝える必要があります。このコードで少し周りを再生するあなたの望ましい結果を与える必要があります:

QGroupBox { 
    background-color: red; 
    border: 3px dashed black; 
    margin-top: 1ex; /* leave space at the top for the title */ 
} 

QGroupBox::title { 
    subcontrol-origin: margin; 
    padding: 0 3px; 
} 

Stylesheet examples