2013-04-29 1955 views

回答

3

關於完成編輯的真實信號只能在QAbstractItemDelegate中找到。信號是closeEditor()。如果用戶不更改單元格中的任何內容,則模型中的所有其他信號都不起作用,但編輯完成後每次都會關閉委託。正如doc所說:

當用戶使用指定的編輯器完成編輯項目 時發出此信號。

該提示爲委託人提供了一種方式,可以在編輯完成後影響模型 和視圖的行爲方式。它向這些 組件指示接下來應該執行什麼動作來爲用戶提供舒適的編輯體驗。例如,如果指定了 EditNextItem,則視圖應使用委託在模型中的下一個項目上打開 編輯器。

用法:

connect(ui->tableView->itemDelegate(),SIGNAL(closeEditor(QWidget*,QAbstractItemDelegate::EndEditHint)),SLOT(someSlot()));