PyQt自动重复表单

2024-05-13 02:29:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试将旧的VBA/microsoftaccess应用程序迁移到Python和PyQt。迁移任何逻辑我都没有遇到任何问题,而且大多数表单都非常简单。但是,我在应用程序最重要的部分——主数据输入表单上遇到了一个问题。在

表单基本上是与数据库中的字段相对应的一行文本框。用户只需在字段中输入数据,在下一个字段中输入制表符并重复。当他到达记录/行的末尾时,他会再次制表,表单会自动创建一个新的空白行,让他重新开始输入数据。(实际上,它在当前新记录的下方显示一个“空白”行,用户可以通过单击该行来启动新记录。)它还允许用户上下滚动以查看他正在处理的所有当前记录子集。在

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


Tags: 数据用户数据库应用程序表单记录逻辑vba
1条回答
网友
1楼 · 发布于 2024-05-13 02:29:04

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

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

我想您需要手动实现的唯一功能是在表的末尾添加“TAB”来创建一个新行,如果您想保留这个功能的话。在

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

相关问题 更多 >