簡體   English   中英

將小部件添加到布局后,QStylesheet不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM