问题: 在逻辑中使用了, QAbstractItemView::setRootIndex(const QModelIndex & index), 第一次设置生效, view 进入了model 中指定的item, view 内只显示该item内部的children items. 这个效果是我要的. bug: 对 model, view,等做过一些操作后(最有代表性的是:过滤), root item 不再是我人为设定的了, 变成了"整棵树"原始model的root. 重现方式: 用…
1. 文件目录浏览器 直接在main.cpp文件中添加下列代码 #include "mainwindow.h" #include <QApplication> #include <QAbstractItemModel> #include <QAbstractItemView> #include <QItemSelectionModel> #include <QDirModel> #include <QTreeView&g…
QT信号和槽 ============ 信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性.要正确的处理信号和槽,必须借助一个称为 moc(Meta Object Compiler)的 QT 工具,该工具是一个 C++ 预处理程序,它为高层次的事件处理自动生成所需要的附加代码. 信号和槽能携带任意数量和任意类型的参数.我们可以将很多信号与单个的槽进行连接,也可以将单个的信号与很多的槽进行连接,(当这个信号被发射时,这些槽将会一个接一个地 执行,但是它们执行的顺序将会是随机的.不…
转载:吓人的猿 TableView 表格视图控件QTableView,需要和QStandardItemModel, 配套使用,这套框架是基于MVC设计模式设计的,M(Model)是QStandardItemModel数据模型, 不能单独显示出来.V(view)是指QTableView视图,要来显示数据模型,C(controllor)控制在Qt中被弱化,与View合并到一起. 1 QTableView简单应用 QStandardItmeModel表格的数据模型,那么这个模型需要填上每一行每一列的数…
目录 Qt QTableView 表格内添加控件 1. QItemDelegate 2. setIndexWidget 3. setIndexWidget + setLayout Qt QTableView 表格内添加控件 书接上回,之前写了怎么在表格的表头添加复选框,Qt QHeaderView 添加复选框_师从名剑山的博客-CSDN博客.这次来写怎么给表格内添加控件. 往表格里添加控件主要有两种方法,第一种是使用代理,QItemDelegate,重载其createEditor这个函数,但是这…
简述 前几节中分享过关于自定义排序的功能,貌似我们之前的内容已经可以很好地解决排序问题了,但是,会由此引发一些很难发现的问题...比如:获取QModelIndex索引错误. 下面,我们先来实现一个整行选中的效果. 简述 错误处理 效果 源码 分析 正常处理 效果 源码 错误处理 效果 下面是一个非正常的的效果,选中当前行会造成更新错误,Why? 源码 // 连接信号槽 connect(pTableView, SIGNAL(clicked(QModelIndex)), this, SLOT(onC…
http://doc.qt.io/qt-4.8/qdirmodel.html#index-2 甚至还能直接调用setData: setData(const QModelIndex &index, const QVariant &value, int role);…
1. QModelIndex 转换成QStandardItem QStandardItem * item=QStandardItemModel::​itemFromIndex(const QModelIndex & index) const 2 .QStandardItem 转换成 QModelIndex QModelIndex model = QStandardItem::​index() const…
QStyledItemDelegate类为来自模型的数据项提供了显示和编辑工具. 当在Qt项视图(例如QTableView)中显示来自模型的数据时,各个项由委托(delegate)绘制.此外,当编辑一个项目时,它提供一个编辑器小部件,当编辑发生时,该小部件放在项目视图的顶部.QStyledItemDelegate是所有Qt项视图的默认委托,在创建时安装在它们上. QStyledItemDelegate类是模型/视图类之一,是Qt模型/视图框架的一部分.委托允许独立于模型和视图开发项目的显示和编辑…