在QT C++编辑Qtable模型数据时,我需要得到一个小盒子,我需要显示编辑文本,这怎么可能?

In QT C++ while am editing Qtable model data i need to get a small box and in that i need to show the editing text how is it possible?

本文关键字:编辑 一个 小盒子 怎么可能 文本 显示 Qtable C++ QT 模型 数据      更新时间:2023-10-16
tmodel = new QSqlTableModel(this);
tmodel->setTable("trainee_info");
tmodel->select();

这样,我们将获得一个表模型作为输出,它可以是可编辑的,但是在编辑时,我需要在我尝试编辑的字段下方显示一个标签,并且文本应该填充在其中。 那我该怎么做。?

如果您使用的是QStandardItemModel则必须在添加到模型之前将项目设置为可编辑,如下所示:

item->setFlags(item->flags() | Qt::ItemIsEditable);

然后,当您双击该项目时,默认情况下它会打开一行编辑进行编辑。

对于更精细的控制,您还可以在表上安装委托并覆盖createEditor函数。

QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem & /*inOption*/, const QModelIndex & inIndex ) const override
{
auto editor = new QLineEdit( parent );
return editor;
}

这将为您提供线条编辑以编辑模型。

但是您的情况非常简单,第一种方法将适合您!