我目前正在尝试将旧的VBA/microsoftaccess应用程序迁移到Python和PyQt。迁移任何逻辑我都没有遇到任何问题,而且大多数表单都非常简单。但是,我在应用程序最重要的部分——主数据输入表单上遇到了一个问题。在
表单基本上是与数据库中的字段相对应的一行文本框。用户只需在字段中输入数据,在下一个字段中输入制表符并重复。当他到达记录/行的末尾时,他会再次制表,表单会自动创建一个新的空白行,让他重新开始输入数据。(实际上,它在当前新记录的下方显示一个“空白”行,用户可以通过单击该行来启动新记录。)它还允许用户上下滚动以查看他正在处理的所有当前记录子集。在
有没有办法在PyQt中复制这个功能?我还没想办法让Qt轻松做到这一点。Access会自动处理它;不需要表单外的代码。在PyQt(甚至是close)中是那么简单,还是需要从头开始编程?在
您应该查看QSqlTableModel和QTableView对象。QSqlTableModel提供了一个关系表的抽象,可以在Qt视图类中使用。例如QTableView。您描述的功能可以通过使用这两个类来实现。在
QSqlTableModel还支持对数据库字段进行编辑。在
我想您需要手动实现的唯一功能是在表的末尾添加“TAB”来创建一个新行,如果您想保留这个功能的话。在
我对Access了解不多,但是使用ODBC-SQL驱动程序,您应该能够使用实际的Access数据库进行开发或测试有一些较旧的信息here,您可能需要考虑迁移到Sqlite、Mysql或其他实际的SQL数据库。在
相关问题 更多 >
编程相关推荐