2016-03-22 13 views
1

私はWindows7でQt5を使用しています。私の現在のアプリケーションで
、IはQTableView有し、私は(表の下部にある)新しい行を挿入する - 以下見た:その後Qt:プログラムでTableViewセルで編集を開始するにはどうすればよいですか?

enter image description here

、私はカーソルを準備したいと思いそのセルの中でマウスをクリックすることなく、最初のセル(上記の赤いマークを参照)で自動的に編集できます。どうしたらいいですか?あなたの時間と忍耐のため

void MyTable::addNewRow() 
{ 
    model->insertRow(model->rowCount()); 
    ui->tableView->scrollToBottom(); 
    // ??? to programmatically start editing in 1st cell 
    // ... 
} 

ありがとう:

ここで私は新しい行を挿入するために今持っているコードです!

答えて

1

編集するセルを特定し、そのモデルインデックスのQAbstractItemView::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); 
関連する問題