我想更改QGroupBox的背景,但是我只想更改內部背景(每個QGroupBox標題下面的深灰色陰影),如下所示: 我現在擁有的是更改QGroupBox的內容背景
QGroupBox {
background-color: red;
border: 3px dashed black;
}
是否有Qt的辦法只有改變「內部盒子」的背景,而不是整個容器?先謝謝你。
我想更改QGroupBox的背景,但是我只想更改內部背景(每個QGroupBox標題下面的深灰色陰影),如下所示: 我現在擁有的是更改QGroupBox的內容背景
QGroupBox {
background-color: red;
border: 3px dashed black;
}
是否有Qt的辦法只有改變「內部盒子」的背景,而不是整個容器?先謝謝你。
我想這裏涉及到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;
}
這會給你以下結果:
當然你可以通過更換內組框一個任意的部件。
這就是我想的!負邊限可以解決問題。 –
你可以使用小部件的「setStyleSheet」函數來做到這一點。
獲取內部組框對象。並使用「setStyleSheet」函數設置背景顏色。
僞代碼:
QGroupBox *innerGBox = new QGroupBox();
innerGBox->setStyleSheet("background-color: red");
要了解更多關於設置樣式方案,請參閱以下鏈接。
你需要告訴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;
}
您需要更改內部組框的樣式表;而不是我相信的那個。 – MateoConLechuga
由於圖片有兩個分組框,因此圖片具有誤導性,但如果您將注意力集中在標題「完整性」和「子標準」上,您會看到它應該在哪裏着色(在標題下)以及它的着色位置(包括標題) –
哦,你只需要在樣式表中添加'margin-top:1ex;'來爲標題留出空間。抱歉;我誤解了。 – MateoConLechuga