2014-07-13 22 views
5

Qt 5.3.0 kullanıyorum. QPushButton'un kontrol edilen durumuna biraz arka plan rengi uygulandığında, düğme kontrol edildiğinde gri noktalar (istediğim arkaplan rengi üzerinden) ile doldurulur. Burada QPushButton'in işaretli durumu gri noktaları nasıl kaldırılır?

küçük bir bir test programı (qtcreator ile değil, aynı zamanda kodlama yapılabilir): 1, 2, bir QPushButton sürükle, düz ve 3, şu satırları ekleyin kontrol edilebilir için ayarlanmış bir qt uygulama oluşturmak w.show()

w.setStyleSheet("\ 
       QPushButton { \ 
        color:white; \ 
       } \ 
       QPushButton:checked{\ 
        background-color: rgb(80, 80, 80);\ 
       }\ 
       QPushButton:hover{ \ 
        background-color: grey; \ 
        border-style: outset; \ 
       } \ 
       "); 

4 önce (80 app çalıştırın ve düğme

Sen düğme noktalı döner ama rgb olarak katı renkte olmak için kontrol düğmesi gerek göreceksiniz kontrol 80, 80). Bir şey mi özledim?

cevap

13

Noktaları, stil sayfasının QPushButton:checked özelliğinde border: none; ayarlayarak kaldırabilirim.

w.setStyleSheet("\ 
       QPushButton { \ 
        color:white; \ 
       } \ 
       QPushButton:checked{\ 
        background-color: rgb(80, 80, 80);\ 
        border: none; \ 
       }\ 
       QPushButton:hover{ \ 
        background-color: grey; \ 
        border-style: outset; \ 
       } \ 
       "); 

Ve burada düğmesi kontrol edilir sonucu görebilirsiniz: sizin örnek üzerinde

, bu böyle olmalı

enter image description here

+0

büyük teşekkür! sınırı kapatma fikrini nasıl buldunuz ??? – h5nc

+6

Bu sayfada: http://qt-project.org/doc/qt-4.8/stylesheet-reference.html bir Uyarıya sahiptir: "Bir QPushButton'da yalnızca bir arka plan rengi ayarlarsanız, arka plan siz görünmedikçe görünmeyebilir kenarlık özelliğini bir değere ayarlayın. Bunun nedeni, varsayılan olarak, QPushButton arka plan rengiyle tamamen çakışan bir yerel sınır çizmesidir. " ve bazı durumlarda sınırın kaldırılmasının benim problemimi çözdüğünü hatırlıyorum. Sana tam olarak nedenini söyleyemem ama işe yarıyor. –

+0

Cevap için referans ve bağlantı için teşekkür ederiz. Bugün beni gerçekten kurtardı! – satishgoda