在PyQT5项目中,我使用表“a”上的QSqlQueryModel填充ListView,并在映射到某些LineEdits的同一个表上填充QSqlRelationalTableModel。我还有一个过滤器,它调用QSqlQueryModel::clear()、QSqlQueryModel::setQuery()、QSqlRelationalTableModel::setFilter()和QSqlRelationalTableModel::select()来根据过滤器更改ListView中的数据。 所有这些代码都在一个泛型类中,该类接受一些参数,以便根据我需要模型的表来配置模型。图形部分也包含在一个类中。因此层次结构是main窗口有一个TableAWidget,它有一个TableAModel,它继承GenericModel。你知道吗
如果我只使用一个表和一个小部件,那么它的工作是完美的。你知道吗
如果我添加另一个表“B”(与第一个表相同,只是名称不同)和另一个小部件,它是第一个表的相同副本,只引用新表(因此我们有TableBWidget和TableBModel),那么TableBWidget中的过滤器按预期工作,但TableAWidget中的过滤器在qsqquerymodel::clear()上崩溃。你知道吗
要知道的一些事情:
我真的不知道该怎么办。我不想只使用QSqlRelationalTableModel,因为我不能像我想的那样与ListView一起使用,而且TableView看起来很糟糕。。感谢您的建议。你知道吗
问题是缺少一个“静态”变量。到数据库的连接是一个“instance”变量(前面加了self),所以第二个实例删除了第一个已经创建的连接,导致第一个小部件在尝试连接到数据库时崩溃。你知道吗
现在,我已经移动了主类主体中的连接处理程序,并删除了“self”,一切正常。你知道吗
相关问题 更多 >
编程相关推荐