问题标签 [qsqltablemodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 自己的QSqlTableModel,根据一个QModelIndex的值给整行上色
我过去扩展了 QSqlTableModel,但目前我被卡住了(毕竟还是一个初学者):
现在这很适合它的功能。它将表格中的字段着色为黄色,但我希望整行都被着色。所以你一眼就能看出这条记录已经被(软)删除了。
如您所见,我已经尝试调用 setData,但无济于事。(当然,我会为这一行中的每个索引执行此操作,但由于它一开始不起作用,所以我停在那里。)
对此有什么想法吗?我在网上搜索了很多,但似乎找不到为整行着色的方法。
python-3.x - 从 QTableView 中取消删除行
我是 PyQt5 的新手,我正在使用 QTableView。在成功知道如何删除选定的行之后..我已经搜索了很多以了解如何从表中取消删除选定的已删除行(以及从 TableModel 中按顺序)但没有结果...
到目前为止,我可以根据标题数据知道该行是否标记为已删除:
我尝试了 revertRow(rowIndex) 和 selectRow() 但这些方法从数据库中重新填充了行并且没有删除标志“!”;意思是 - 正如我所料 - 在提交时,它将被删除。
请,任何帮助。
qt - qsqltablemodel incompatible data types
I have a simple form with button and some line edits and listview. In listview users can select items and in line edits edit their parameters.
error:
python - 如何在QT QSqlRelationalTableModel中显示一个关系sql表?
我正在尝试使用 QT 的 QSql 关系表模型。我是 Pyqt 新手,sql 表关系不显示我的数据库,这是为什么呢?我有一个 db 文件,其中的数据库在同一目录中具有关系表。http://pyqt.sourceforge.net/Docs/PyQt4/qtsql.html
python - 更新外键时pyqt关系表不更新
我有一个带有拆分器的窗口,在两个框架内有两个不同的表,产品类型与产品有关系,GUI 运行正常,但是当我更改产品类型的名称时,它不会更新产品表,这是为什么呢?但是一旦我重新启动,就会做出改变?有没有办法强制 pyqt 模型检查数据库的更改?
python - 使用 QSqlTableModel 的正则表达式自定义 QAbstractItemDelegate
我正在尝试创建一个自定义委托,以便我可以使用正则表达式来验证正在输入到表中的数据,但由于某种原因,我的代码不断抛出错误,是否有一个好的结构化示例?
这是我目前遇到的两个错误,当我AttributeError: 'QLineEdit' object has no attribute 'set'
使用 QLineEdit.setText 修复时,我的正则表达式不起作用,它允许添加任何值。
python - pyqt4 dateedit 代表不想显示时间
我试图让我的用户选择一个日期并使用 dateedit 小部件进入数据库,并且我通过使用委托来执行此操作,但由于某种原因它也附加了时间
选择日期后留下的字符串类似于 '30/01/2015 00:00:00' 我不想要时间吗?解决这个问题的方法是什么?
qt - qt 多个 QSqlTableModels 在一个事务中一起编辑
我在使用 PostgreSQL 9.3 数据库的 Qt 应用程序中有一个窗口。窗口是用于显示、编辑和插入新数据的窗体。t 看起来像这样:
我在该视图中有来自 3 个 sql 表的数据。这些表与外键相关:
- 承包商(主表) - 映射到“个人数据”部分
- 联系人(有外键承包商.ID)
- 地址(有外键承包商.ID)
所以 - 在我的窗口类中,我有 3 个主要模型(+ 2 个代理模型来转置“个人数据”和“地址数据”部分中的表)。我QSqlTableModel
用于这些部分,以及QSqlRelationalTableModel
用于contactData 部分。当“正常”打开该窗口(查看某些承包商)时,我只需将承包商的 ID 传递给构造函数并将其存储在适当的变量中。QSqlTableModel::setFilter(const QString & filter)
此外,我为每个模型调用该方法,并设置适当的过滤。在“添加新”模式下打开该窗口时,我只需将“-1”或“0”值传递给 ID 变量,因此不会将数据加载到模型中。所有 3 个模型都有QSqlTableModel::OnManualSubmit
editStrategy。保存数据时(通过单击适当的按钮触发),我开始交易。然后我一个接一个地提交模型。personalData
首先提交模型,因为我需要在插入后获取它的PK(在其他模型的FK字段中设置)。当模型提交失败时,我显示一个带有 QSqlError 内容的消息框,回滚事务并从方法返回。当我正在处理的第一个模型出现错误时 - 没问题,因为没有插入任何内容。但是当第一个模型被保存,但第二个或第三个失败时 - 有一个小问题。所以我像以前一样回滚事务,并从函数返回。但是在更正数据并再次提交之后——第一个模型并没有尝试提交——因为它不知道有回滚,需要再次插入数据。什么是注意到这种模型需要再次提交的好方法?此刻我最终得到了类似的东西:
有没有人有更好的主意?我怀疑在尝试插入记录之前是否可以省略备份记录。但也许有更好的方法将它们“重新添加”到模型中?我尝试使用"setRecord"
, 和"remoweRows" & "insertRecord"
组合,但没有运气。重置整个模型似乎最简单(我只需要重新初始化它,因为它会在清除时丢失表、过滤器、排序和其他所有内容)
pyqt - 带有 QSqlRelationalDelegate 的 QSqlRelationalTableModel 在 QAbstractProxyModel 后面不起作用
我需要交换 QSqlRelationalTableModel 的行和列。经过大量搜索,我写了一个小代理模型来翻转行和列。
它正在部分工作。表中的关系已解决并显示,但选择它们的保管箱会丢失。另外,我如何让他们更新?
这是一个重现该行为的独立脚本。
我的错误在哪里?我强烈怀疑它与模型的信号和插槽有关,但我没有找到任何提示哪些以及如何重新实现它们。
还有另一种更简单的方法来交换行和列吗?
编辑:澄清授权模型并非完全不起作用,它只是部分起作用。
qt - 使用 QSortFilterProxyModel 拥有一个有效的 QSqlRelationalDelegate
我一直在使用QSortFilterProxyModels
。但是,如果QSqlRelation
在源模型上设置了 aQSqlRelationalDelegate
以及在视图上设置了 a ,则每当视图切换到代理模型时, 就会QSqlRelationalDelegate
消失,留下基本的QLineEdit
or QSpinBox
。
如何使视图中的列同时使用 aQSortFilterProxyModel
和QSqlRelationalDelegate
,并给出预期的QCombobox
下拉菜单?