如何更新数据库连接更改后的QSqlTableModel,QTableView
问题描述:
我已经问过,但现在我有更多的问题。如何更新数据库连接更改后的QSqlTableModel,QTableView
所以,我有QTableView和QSQLTableModel。
pTableModel->setTable("table_name");
pTableView->setModel(pTableModel);
在QTableView中,我只需要显示具有指定名称的列,我使用setColumnHidden()。
现在我需要更改DB并显示具有相同名称的表的指定列。什么是更好的方式来通知表视图和表模型数据库已被更改。新DB中的表可能因列数,行数而不同,但具有所有必要的列。
现在我再次拨打
pTableModel->setTable("table_name");
与同桌的名字更新表模型。并呼吁
pTableView->horizontalHeader()->doItemsLayout();
通知表视图约数列的可能变化。
这似乎是丑陋的,我不确定所有必要的数据都已更新。你知道更好的方法吗?
答
在我看来,你必须实例化新与QSqlTableModel为新的数据库连接,并将其分配给pTableView。我认为它更安全。