使用QSqlTableModel的QTableView的数据输入

时间:2012-11-15 12:53:51

标签: c++ qt qtableview data-entry qsqltablemodel

我有一个基本的QTableView,它使用QSqlTableModel显示来自SQLite表的数据。

数据输入由父对话框完成,该对话框具有表示字段数据的多个小部件和“添加”按钮。 通过“删除所选行”按钮完成数据删除。

一切都非常实用,但我发现它非常笨重,想要尝试更好的方式。

理想情况下,我希望视图中有一个空行,用户只需开始输入数据即可。在每行的末尾有一个按钮,用于删除该特定行(类似于垂直标题,但带有按钮而不是行号)。

我认为这可以通过对QTableView进行子类化来实现,但是必须重新绘制所有内容的想法有点令人生畏......

有没有人就如何解决这个问题提出建议,也许是使用代表(不可否认的是我以前没有用过的东西)或者我忽略的另一种更简单的方法?

1 个答案:

答案 0 :(得分:1)

根据您的描述,您不必担心重新涂漆。您只需在行的最后一个单元格中添加QButton即可。关于向QTableView添加按钮,有几个答案/文章:

  1. http://qtadventures.wordpress.com/2012/02/04/adding-button-to-qviewtable/
  2. Adding button to QTableview
  3. 其次,允许用户直接添加行,请阅读本文有关使模型可编辑和插入/删除行的部分。

    1. http://doc.qt.io/archives/qt-4.7/model-view-programming.html#making-the-model-editable