1
我創建了一個簡單的QListView
添加了一個QStringListModel
,允許添加項目和他們的文本編輯。但我不希望允許添加空字段,並且我部分通過使用來自模型的dataChanged
信號來實現此目的,如果列表項失去焦點而沒有插入文本或用戶按下Enter
鍵而不添加文本,則發出該信號。Esc按鍵事件QListView
但是,如果您按下Esc
鍵,該字段將保持爲空,並且不會發出dataChanged
信號。如果該字段留空而沒有重載QListView
類,這將是單調乏味的(我使用設計器創建表單),我該如何得到通知?
是否有另一個信號發出或我可以用來實現這個信號?
謝謝!
您確定列表視圖是接收關鍵事件的對象嗎?當用戶編輯一個列表視圖項時,有一個行編輯小部件可以處理用戶輸入,所以編輯器可能也處理關鍵事件? – vahancho
那麼,那可能是真的,我從來沒有使用QListView。但是,如果這不起作用,我認爲沒有其他辦法可以做到這一點......但是,在Qt Designer中使用自定義小部件很簡單,我會將其添加到我的答案中。 – headsvk