在《PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性》中介绍了dragDropOverwriteMode属性,当时老猿使用并在其中提到了测试发现这个属性的覆盖存在问题,并反复测试也未找到问题的原因,这几天老猿找到了最开始的一个可以覆盖写的测试程序,与不能覆盖写的代码进行了反复比对,最后发现不是视图属性的设置问题,而是视图对应数据存储Model的问题。
那个能进行覆盖写的视图中使用的Model是QStringListModel,而不能覆盖写的Model是QStandardItemModel。可见是否能覆盖写与Model是否支持有关,至于为什么会这样老猿还需要进一步研究。
本文通过对比QStringListModel和QStandardItemModel两种Model在PyQt的QAbstractItemView中的表现,探讨了视图覆盖写机制与Model选择的关系。作者发现,能否实现覆盖写操作取决于所选用的Model类型。

1673

被折叠的 条评论
为什么被折叠?



