如何防止在QTableWidget委托中剪切自定义编辑器?
我正在开发一个PySide项目,其中包含一些我希望从QTableWidget以各种方式编辑的奇特数据。
为此,我定义了一个自定义QStyledItemDelegate,它为每列生成不同的编辑器。具有自定义大小的窗口小部件根据其自己的内部方法set_editor_rect调整大小,该方法本身由委托的updateEditorGeometry调用:
class Element(object):
...
...
def set_editor_rect(self, editor, option):
rect = option.rect
rect.setTop(rect.top() - self.expand_top)
rect.setBottom(rect.bottom() + self.expand_bottom)
rect.setLeft(rect.left() - self.expand_left)
rect.setRight(rect.right() + self.expand_right)
editor.setGeometry(rect)
这样可行,但它会在表格边界剪辑编辑器,这意味着底行不可编辑。(见图片)
是否可以将此编辑器设置为不剪辑,或者将其设置为高于其父级?
如果所有其他方法都失败了,那么如何让这些编辑器弹出桌面上方的对话框呢?我是否放弃了代表的概念?