各位大侠,前几天问了:如何通过QTableView实现键盘操作行的插入。每插入一行,按回车键程序自动在QTableView最后插入一空行。以待编辑。
通过keyPressEvent事件查询,但按Enter后查入的行最后一个字段(图片中第6行的最后一格)没有保存进数据库,大概是因为QTableView中的输入格中要按Enter后才确认为输入了。代码和图片如下。void MyView::
keyPressEvent(
QKeyEvent *event)
{
    QTableView::
keyPressEvent(event)
 ;  /*无论加没加这句结果是一样的。*/
    if(event->key()==
Qt::
Key_Return){
            model->database().transaction();
            if (
model->submitAll())
 {
                model->database().commit();
                model->insertRow(
model->
rowCount());
            }
 else {
                model->database().rollback();
                QMessageBox::warning(
this,
 tr(
"Cached Table"),
                                     tr(
"The database reported an error: %1")
                                     .arg(
model->lastError().text()));
            }
        }
 }
