1、觸發編輯項的editItem方法
QTableWidget提供了觸發項編輯的方法,調用語法如下:
editItem(QTableWidgetItem item)
注意:
- editItem方法生效必須設置項的標記flags為可編輯
- editItem一次只能觸發一個項進行編輯,一旦退出編輯狀態(如改變焦點),除非再次調用editItem或設置editTriggers觸發編輯或打開永久編輯器否則對應項不能再編輯
- 連續多次調用editItem,中間沒有觸發事件處理,則只有第一次調用生效,后續調用無效
2、openPersistentEditor打開持久編輯器
上面介紹editItem時說明了editItem只能觸發一次編輯,可以說進入臨時編輯狀態,一旦退出編輯除非再通過相關方式觸發編輯否則項不可再編輯。與此相對應,與QTreeWidget類似,QTableWidget還提供了一種一旦打開編輯狀態就可以隨時再次編輯,除非顯示關閉編輯狀態,這種方式就是打開持久編輯器。調用方法如下:
openPersistentEditor(QTableWidgetItem item)
該方法沒有返回值。
注意:
- openPersistentEditor在在QTableWidget部件設置了editTriggers為NoEditTriggers時也有效
- openPersistentEditor在在QTableWidget部件項的flags值設置為不能編輯情況下,也能觸發項編輯,並且除非調用closePersistentEditor()方法,否則對應項的對應列一直都能編輯
- 關於項的編輯QTableWidget與QTreeWidget其實相差不大,相關內容請參考《PyQt(Python+Qt)學習隨筆:樹型部件QTreeWidget中的項編輯方法editTriggers、editItem和openPersistentEditor作用及對比分析》