1.Model-View框架

(1)通讯(model、view、delegate之间使用“信号-槽”机制)
1)MODEL为体系中其它组件提供数据接口,与Data通讯
2)VIEW从Model中获取QModelindexs(,QModelindexs是指向DataItems的引用), 可通过获取datalitem的index,获取item
3)Delegate直接使用模型索引与模型通讯
(2)Data的数据结构

2. from PyQt5.QtCore import QStringListModel
Model类大概都继承于QtCore
3. from PyQt5.QtWidgets import QListView
View类应该都继承于QtWidgets
QListView是列表视图类,QListView应该是定义了View窗口及内嵌子窗口布局的对象及初始化属性值,而表达在QListView内的内容及所涉及的计算就交给了QStringListModel类对象,因他们两缺了谁都没意思,所以,使用前两者要先绑定在一起(一种对象层面的组合方式)
4. QStringListModel与QListView “绑定”
QStringListModel对象、QListView对象通过下面代码“绑定”:(可参考:muzing的杂货铺https://muzing.top/posts/5ff61cbd/)!
代码功能: 想实现在QListView中鼠标拖放,以调整item的row顺序
开始还以为需要像MFC框架一样,后来发现QListView本身就可以通过设置QAbstractItemView类的“拖放”属性的来实现。
核心代码:

本文介绍了Qt中的Model-View框架,包括信号-槽机制、Model为其他组件提供数据接口、QListView与QStringListModel的绑定,以及如何实现QListView的鼠标拖放功能。作者通过实例展示了如何操作数据结构和使用QModelIndex与DisplayRole进行内容处理。
209

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



