PyQt(Python+Qt)学习随笔:QTableWidget项编辑方法editItem、openPersistentEditor
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作用及对比分析》