gpt4 book ai didi

python - PyQt 自动重复表格

转载 作者:太空宇宙 更新时间:2023-11-04 01:44:13 25 4
gpt4 key购买 nike

我目前正在尝试将遗留的 VBA/Microsoft Access 应用程序迁移到 Python 和 PyQt。我在迁移任何逻辑时都没有遇到任何问题,而且大多数表单也很容易。但是,我在应用程序最重要的部分——主要数据输入表单上遇到了问题。

表单基本上是一行文本框,对应于数据库中的字段。用户只需将数据输入到一个字段中,然后切换到下一个字段并重复。当他到达记录/行的末尾时,他再次按 Tab 键,表格会自动创建一个新的空白行,供他再次开始输入数据。 (实际上,它在当前新记录下方显示一个“空白”行,用户实际上也可以单击它来开始新记录。)它还允许用户上下滚动以查看所有当前子集他正在处理的记录。

有没有办法在 PyQt 中复制此功能?我还没有设法找到让 Qt 轻松做到这一点的方法。 Access 会自动处理它;不需要表单外的代码。在 PyQt 中就那么容易(甚至接近),还是需要从头开始编程?

最佳答案

您应该查看 QSqlTableModel 和 QTableView 对象。 QSqlTableModel 提供了一个关系表的抽象,可以在 Qt View 类中使用。例如 QTableView。您描述的功能可以通过使用这两个类以适度的努力实现。

QSqlTableModel 还支持对数据库字段进行编辑。

我猜你必须手动实现的唯一功能是表格末尾的“TAB”,如果你想保留它,可以创建一个新行。

我不太了解 Access,但是使用 ODBC-SQL 驱动程序您应该能够使用实际的访问数据库进行开发或测试有一些较旧的信息 here ,您可能需要考虑迁移到 Sqlite、Mysql 或其他实际的 SQL 数据库。

关于python - PyQt 自动重复表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1114678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com