通常,您將連接到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