Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt:如何以编程方式在TableView单元格中开始编辑?_Qt_Uitableview_Insert_Row_Edit - Fatal编程技术网

Qt:如何以编程方式在TableView单元格中开始编辑?

Qt:如何以编程方式在TableView单元格中开始编辑?,qt,uitableview,insert,row,edit,Qt,Uitableview,Insert,Row,Edit,我正在Windows7上使用Qt5。 在我当前的应用程序中,我有一个QTableView,我刚刚插入了一个新行(在表的底部)-如下所示: 之后,我想让光标自动准备好在第一个单元格中进行编辑(见上图-红色标记),而无需在该单元格中单击鼠标。我怎么做 下面是我现在必须插入新行的代码: void MyTable::addNewRow() { 模型->插入行(模型->行计数()); ui->tableView->scrollToBottom(); //?以编程方式在第一个单元格中开始编辑 // ...

我正在Windows7上使用Qt5。
在我当前的应用程序中,我有一个
QTableView
,我刚刚插入了一个新行(在表的底部)-如下所示:

之后,我想让光标自动准备好在第一个单元格中进行编辑(见上图-红色标记),而无需在该单元格中单击鼠标。我怎么做

下面是我现在必须插入新行的代码:

void MyTable::addNewRow()
{
模型->插入行(模型->行计数());
ui->tableView->scrollToBottom();
//?以编程方式在第一个单元格中开始编辑
// ...
}

谢谢你的时间和耐心

您需要识别要编辑的单元格,并为该模型索引调用
qabstractemview::edit()
函数。例如:

int rows = ui->tableView->model()->rowCount();

// Get the last row's model index (first column)
QModelIndex index = ui->tableView->model()->index(rows - 1, 0);

// Start editing the cell
ui->tableView->setCurrentIndex(index);
ui->tableView->edit(index);