在Qt C++中,AM编辑QTABLE模型数据时,我需要得到一个小盒子,在其中我需要显示编辑文本,这是怎么可能的?

在Qt C++中,AM编辑QTABLE模型数据时,我需要得到一个小盒子,在其中我需要显示编辑文本,这是怎么可能的?,c++,qt,C++,Qt,通过这一点,我们将得到一个表模型作为输出,它可以编辑,但在编辑时,我需要在我试图编辑的字段下方显示一个标签,并在其中填充文本。那么我该怎么做呢?如果您使用的是QStandardItemModel,则必须在添加到模型之前将该项设置为可编辑,如下面的代码所示: tmodel = new QSqlTableModel(this); tmodel->setTable("trainee_info"); tmodel->select(); 然后,当您双击项目时,默认情况下会打开一个行编辑进行编

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

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

tmodel = new QSqlTableModel(this);
tmodel->setTable("trainee_info");
tmodel->select();
然后,当您双击项目时,默认情况下会打开一个行编辑进行编辑

对于更精细的控件,还可以在表上安装委托并重写createEditor函数

item->setFlags(item->flags() | Qt::ItemIsEditable);
这将为您提供编辑模型的线编辑


但是您的案例非常简单,第一种方法对您有效

感谢您的回复,,,但我使用的是Qsqltablemodel..即traineemodel=new QSqlTableModelthis;培训生模型->可设置培训生信息;实习生模型->选择;traineemodel->setEditStrategyQSqlTableModel::OnManualSubmit;在这之后,我试图显示它。那么我可以对现在的代码进行wt更改吗?你可以举一个简单的例子,让我能更容易理解Beoz我真的很新这个QT C++。桌子的类型是什么?QTableView或QTableWidget?ui->tableView\u 2->SetModelTraineer\u信息;它的QtableModel实际上是这样的…在windows中,如果我们试图在搜索框中键入一些内容,我们将得到一个标签,该标签使用搜索图标来传递文本,因此我希望Qt中也有类似的内容,即在tableview中编辑字段时,我只想得到与在新标签中键入的相同的文本,该标签可以是弹出窗口或滚动窗口向下标签…你能发布一个你想要达到的目标的截图吗,从你的描述中还不完全清楚!为了更好地理解,需要一些GUI模型。另外,请用所有这些信息更新您的问题,否则没有人能帮助您!
QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem & /*inOption*/, const QModelIndex & inIndex ) const override
{
   auto editor = new QLineEdit( parent );
   return editor;
}