我正在使用Qstylesheet來控制一些QPushButtons和QToolButtons的行爲。當我徘徊在他們身上時,他們變黑了,正如我想要的那樣。但是,一旦我按下它們,它們就會變成一種有趣的灰色紅色,並且在它們內部繪製出一個紅色框。顏色的QPushButton或QToolButton
什麼是我必須設置爲了避免這種行爲的屬性或僞狀態?我已經通過了與選擇和背景有關的所有屬性,並且不能讓這個消失
我正在使用Qstylesheet來控制一些QPushButtons和QToolButtons的行爲。當我徘徊在他們身上時,他們變黑了,正如我想要的那樣。但是,一旦我按下它們,它們就會變成一種有趣的灰色紅色,並且在它們內部繪製出一個紅色框。顏色的QPushButton或QToolButton
什麼是我必須設置爲了避免這種行爲的屬性或僞狀態?我已經通過了與選擇和背景有關的所有屬性,並且不能讓這個消失
沒有看到你的風格,這有點難以解決你的問題。所以我要做的是解釋一些事情是如何工作的,希望你能決定如何最好地解決你的問題。
首先,當您設計按鈕的樣式以確保您覆蓋所有底座時非常重要。我相信你大概知道這一點,但以防萬一......
一個QPushButton和QToolButton有很多可以風格的狀態,所以你想確保你讓你的按鈕明顯不同狀態,以便用戶可以分辨不同。
QPushButton
{
// The default look of your button
}
QPushButton:disabled
{
}
QPushButton:pressed
{
}
QPushButton:focus
{
}
QPushButton:hover
{
}
QPushButton:checked
{
}
使用諸如背景顏色,前景色,邊框顏色之類的東西,而且一般來說你很好。
background-color: red;
color: white; // foreground color
border-width: 1px;
border-color: black;
第二件要知道的是,樣式可以被繼承。因此,在向窗口小部件添加樣式時請務必小心。當你創建一個風格時,儘量具體。如果您將這種風格賦予UI中的某些東西,背景顏色將是藍色的,但危險的是,此風格的所有子部件也將繼承此風格。
QWidget
{
background-color: blue;
}
也許這就是你想要的,但往往不是。所以如果你是樣式按鈕,總是把QPushButton或QToolButton選擇符放在它們周圍,同樣的情況也適用於你正在設計的其他東西。所以這可能是你的灰色紅色來自的地方。
現在,關於樣式按鈕的最後一件事是關注矩形。這是你的按鈕被聚焦時出現的惱人的虛線。看下面的圖片。
可惜的是,有沒有辦法樣式使用樣式表的焦點矩形。但是,如果這就是你想要的,你可以擺脫它。請參閱以下鏈接:
Getting rid of the focus rectangle
因此,在總結...
我希望有所幫助。如果你想得到更具體的幫助,那麼請張貼你的風格,我會看看它。
謝謝,重點矩形提示真的很好 – jhowland
您能否提供更多信息,例如:你在哪個平臺上運行,哪個版本的Qt,你可以提供一小段代碼來顯示你在做什麼? –