Qt qtablewidget编辑框

Qt tablewidget editbox

我创建了一个这样的表格小部件:

我想编辑单元格(0)的值,(双击),但是编辑框太大,盖住了单元格(1):

如何避免编辑框覆盖后面的单元格?

您应该创建自己的子 QStyledItemDelegate 并重新定义 QStyledItemDelegate::createEditor 方法。

类似的东西:

QWidget * MyStyledItemDelegate::createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const 
{
    QWidget * editor = QStyledItemDelegate::createEditor(parent, option, index);
    editor->setWidth( 20 ); // Handle editor here.
    return editor;
}