[英]QStylesheet not working after adding widget to layout
我創建了一個自定義小部件,並通過QtDesigner將以下樣式表應用於該小部件:
QWidget#MyWidget{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0
rgb(200, 200, 200), stop:1 rgb(230, 230, 230))
}
QWidget#MyWidget:hover{
background:
qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #90B750,
stop:1#CAFF70 )
}
它在設計器中有效。
在另一個自定義窗口小部件中,我將許多MyWidget實例添加到“垂直”布局中。 但是既沒有根據樣式表設置背景顏色,也沒有進行懸停。 為了進行測試,我向MyWidget添加了一個按鈕。 懸停並單擊即可。 我想念什么?
基本上MyWidget只是一個帶有幾個標簽的小部件,“容器”只是一個具有垂直布局和幾個標簽的ScrollArea。
有任何想法嗎?
事實證明,解決方案相當簡單。
問題是,顯然,如果您將一個窗口小部件作為另一個窗口小部件的父對象,則最頂層窗口小部件的背景將設置為“透明”。 添加第二個以主窗口小部件為父窗口小部件並將QStylesheet應用於此窗口小部件即可解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.