我之前已经问过,但现在我还有更多问题。
所以,我有QTableView和QSQLTableModel。
pTableModel->setTable("table_name");
pTableView->setModel(pTableModel);
在QTableView中,我只需要显示具有指定名称的列,我使用setColumnHidden()来实现此目的。
现在我需要更改数据库并显示具有相同名称的表的指定列。有什么更好的方法来通知表格视图和表格模型已更改数据库。新数据库中的表可能因列数,行数而异,但具有所有必需的列。
现在我打电话给
pTableModel->setTable("table_name");
再次使用相同的表名来更新表模型。并致电
pTableView->horizontalHeader()->doItemsLayout();
通知表格视图有关列数的可能更改。
这似乎很难看,我不确定所有必要的数据是否都已更新。你知道更好的方法吗?
答案 0 :(得分:-1)
在我看来,你必须为新的数据库连接实例化新的 QSQLTableModel 并将其分配给 pTableView 。我认为它更安全。