2012-01-30 16 views
7

Uygulamamda, uygulamanın tamamına ait stil sayfası uygulamaya yüklenen bir kaynak dosyadan alınır.Güncelleniyor Widget'ın ObjectName stili otomatik olarak güncellenmiyor

İki bir QListWidget orada tanımlanmış stil vardır: Bir formda

QListWidget#Good{ 
..some color properties 
} 

QListWidget#Bad { 
..soem different color properties 
} 

, benim QListWidget en Nesne adı "İyi", bu nedenle #good stiline yapışır. Çalışma zamanı sırasında "SetObjectName" öğesini "Bad" olarak ayarlamak ve stilin UI'de anında değiştirilmesini istediğim bir durum var. "Sadece "(Kötü);" SetObjectName" çağıran

  1. :

    İki şey fark etmiş stilleri yöntemlerden değiştirmez ...

  2. Tek zaman "SetObjectName (" Bad ");" QListWidget içeren Widget yapıcıdan çağrılırsa çalışır.

Açıkçası, bazı "güncelleştirme stili" aşamasında eksik. Kodda "setStyleSheet" bulunamayacağımı, QSS dosyasından gelmesi gerektiğini unutmayın.

Neyi eksik?

cevap

9

Bunu çözdüm. Arayan: Benim Widget üzerinde

style()->unpolish(theWidget); 
style()->polish(theWidget); 

ObjectName değişikliği sonrasında (setObjectName) hile yaptı.

İlgili konular