我无法缩小这个错误的范围however我似乎有以下问题:
-
saveState()
of a horizontalHeader()
- 重新启动应用程序
- 修改模型,使其少一列
restoreState()
- 现在,由于某种原因,标题视图的状态完全混乱了。我无法显示或隐藏任何新列,也无法获得合理的状态
我知道,这不是很具有描述性,但我希望其他人以前也遇到过这个问题。
对于 QMainWindow 来说,save/restoreState http://doc.trolltech.com/4.5/qmainwindow.html#restoreState需要一个版本号。QTableView的restoreState() http://doc.qt.digia.com/qt/qheaderview.html#restoreState没有,因此您需要自己处理此案。
如果您想在模型不匹配的情况下恢复状态,您有以下选项:
- 将状态与保存时模型中存在的列的列表一起存储,这样您就可以避免在列不匹配时从数据中恢复,并恢复为默认情况
- 实现您自己的 save/restoreState 函数来处理这种情况(呃)
- 添加一个为正在恢复的状态提供虚假/虚拟列的代理模型,然后立即删除这些列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)