Как правило, вы должны подключиться к сигналу itemSelectionChanged
, а затем проверить, выбрано ли что-либо.
self.listwidget.itemSelectionChanged.connect(self.on_selection_changed)
def on_selection_changed(self):
if not self.listwidget.selectedItems():
# Do Stuff Here
self.nothing_selected_function()
Но это будет только перехватывать события где-то был выбранные, а затем выключенного пользователя все. Если ничего не было выбрано, оно не будет вызывать этот сигнал (как при первом создании списка, и ничего не выбрано). В этом случае вам придется вызывать слот вручную.
self.listwidget = ... # Code that builds and populates list widget
# Call this manually the first time.
self.on_selection_changed()
Но часть вашего вопроса неоднозначна. Почему вы хотите знать, когда что-то «не выбрано»? Как насчет того, когда новый элемент будет добавлен в список? Должна ли она запускать вашу функцию «не выбрана», так как список изменился, но все же ничего не выбрано?
Всякий раз, когда нет выбранного элемента, я хочу отключить некоторые кнопки и текстовые поля. Когда пользователь добавляет новый элемент в список, он автоматически устанавливает этот элемент как выбранный. – Gambit2007