调试了一星期,明明2段相同的代码,放一起就有一段不行了。后来发现demo里的QsqlDatabase是放在main文件里的,才醒悟到可能会是这个原因。Qt只允许打开一个QsqlDatabase,哪怕在不同的类里用不同的QsqlDatabase实例也不行。所以要使用QSqlRelationalTableModel的时候特别要注意,因为这时候是不能close QsqlDatabase的。
当他和QSqlQuery混用时,报错的往往是QSqlRelationalTableModel。
致我那已经逝去的青春,和萝莉小妹纸