Обновление ObjectName виджета не обновляет стиль автоматически

В моем приложении таблица стилей для всего приложения берется из файла ресурсов, загруженного в приложение.

Там у меня определены две таблицы стилей для QListWidget:

QListWidget#Good{
..some color properties
}

QListWidget#Bad {
..soem different color properties
}

В форме имя объекта моего QListWidget "Good", поэтому он придерживается стиля #good. Во время выполнения у меня есть случай, когда я хочу "SetObjectName" его на "Bad" и чтобы стиль мгновенно изменился в пользовательском интерфейсе.

Я заметил две вещи:

  1. простой вызов "SetObjectName("Bad");" не меняет стиль из методов...
  2. Единственный раз, когда "SetObjectName("Bad");" работает, это если вызывается из конструктора виджета, содержащего QListWidget.

Очевидно, мне не хватает какого-то этапа "стиля обновления". Обратите внимание, что я не могу иметь "setStyleSheet" в коде, он должен прийти из файла QSS.

Чего мне не хватает?

8
задан Trilarion 10 September 2015 в 22:14
поделиться