1
我有一个QTableView
显示来自自定义模型的数据。我在每个单元格上都有一个QItemDelegate
版本。视图的一列有一个由QLineEdit
和QCheckBox
组成的自定义小部件。当我点击这个列的单元格时,编辑器会显示出来,它可以工作,但它不适合表格单元格。而且,当我放大一行并单击单元格时,我可以看到小部件后面单元格的数据。为QTableView QItemDelegate编辑器上的自定义小部件
有没有一种方法可以让我的小部件在视图上像QItemDelegate
的正常编辑小部件那样工作?即创建时使用单元的所有垂直空间?
这是我的小部件(简体):
class MyWidget(QtGui.QWidget):
def __init__(self, parent = None):
super(MyWidget, self).__init__(parent)
self.lineEdit = QtGui.QLineEdit(parent)
self.checkBox = QtGui.QCheckBox(parent)
self.checkBox.setChecked(False)
self.gridLayout = QtGui.QGridLayout(self)
self.gridLayout.setSpacing(3)
self.gridLayout.addWidget(self.lineEdit, 0, 0)
self.gridLayout.addWidget(self.checkBox, 0, 1)
我委托(简体):
class MyDelegate(QtGui.QItemDelegate):
def __init__(self, parent = None):
super(MyDelegate, self).__init__(parent)
def createEditor(self, parent, option, index):
return MyWidget(parent)
def setModelData(self, editor, model, index):
pass
def setEditorData(self, editor, model, index):
pass
谢谢!它按预期工作。 – user20679