- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 QStandardItemModel,它显示在 q QTreeView 中。工作正常。
为了突出显示相关行,我想突出显示其中的一些行:因此我有一个 QStringList,其中包含要突出显示的 QStandItem* 的名称。
QStringList namesToBeHighlighted = getNames();
QModelIndex in = myModel->index(0, 0);
if ( in.isValid() ) {
for (int curIndex = 0; curIndex < myModel->rowCount(in); ++curIndex) {
QModelIndex si = myModel->index(curIndex, 0, in);
QStandardItem *curItem = myModel->itemFromIndex(si);
if (curItem) {
QString curItemName = curItem->text();
if ( namesToBeHighlighted.contains(curItem->text()) ) {
curItem->setFont(highlightFont);
}
else curItem->setFont(unHighlightFont);
}
}
}
我的模型具有以下结构:
Level_1
+--> Level_11
+--> Level_12
+--> Level_13
Level_2
+--> Level_21
+--> Level_22
+--> Level_23
...
在这里,它迭代到第 11、12 和 13 级,然后停止。
最佳答案
希望对你有帮助
void forEach(QAbstractItemModel* model, QModelIndex parent = QModelIndex()) {
for(int r = 0; r < model->rowCount(parent); ++r) {
QModelIndex index = model->index(r, 0, parent);
QVariant name = model->data(index);
qDebug() << name;
// here is your applicable code
if( model->hasChildren(index) ) {
forEach(model, index);
}
}
}
QStandardItemModel model;
QStandardItem* parentItem = model.invisibleRootItem();
for (int i = 0; i < 4; ++i) {
QStandardItem *item = new QStandardItem(QString("item %0").arg(i));
for (int j = 0; j < 5; ++j) {
item->appendRow(new QStandardItem(QString("item %0%1").arg(i).arg(j)));
}
parentItem->appendRow(item);
parentItem = item;
}
forEach(&model);
关于c++ - 如何完全遍历 QStandardItemModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33124903/
我的问题是,在使用时 QStandarditemmodel::setData(const QModelIndex &index, const QVariant &value, int role) 似乎
我是 qt 的新手,我在 QTtableview 中使用 QStandardItemModel。 请建议, 如何更改行和列标题名称。目前它显示 1,2,3,4 如何让 QStandardItemMod
我有一个 QTableView ,填充了 QStandardItemModel . 我经常通过网络更新模型,模型也由用户直接通过 QTableView 更新。 . 现在我喜欢在用户更改一些数据时调用一
我喜欢制作我的 QStandardItemModel 来填充 qtreeview 中的项目将行追加到 View 中所有已定义项目的顶部。类似于 twitter View ,新项目优先。我在 QStan
为了在 QTableView 中显示一些数据,我使用一个函数来计算 QStandardItemModel 并将其发送回调用函数。 函数调用: QStandardItemModel MyModel =
QStandardItemModel::QStandardItemModel(QObject * parent = 0) Constructs a new item model with the g
标题没问题,但我只有三个空行。 永远不会调用 FileConfig::data 方法! 你知道为什么吗? model= new MyModel; model->setHeaderData(0, Qt:
我是 Qt 的初学者,我正在努力从 XML 文件填充 QStandardItemModel。 我尝试了以下操作,整个项目运行成功,但 QtableView 不显示数据。 这是我的main.cpp: v
我试过使用 Qt void QStandardItem::insertRow(int row, const QList &items)和 void QStandardItem::appendRow(c
我想做的是,我想制作一个带有可检查项目的 ListView 。我能够使用 QStandardItemModel 作为我的模型来做到这一点。现在我需要做的是添加一些需要自定义数据方法的功能。因此,正如我
我有一个包含 100,000 条数据记录的 QStandardItemModel,以及一个用于过滤和排序功能的 QSortFilterProxyModel。我想根据其中一列的值删除大量记录,比如 10
我有一个 QStandardItemModel,它显示在 q QTreeView 中。工作正常。 为了突出显示相关行,我想突出显示其中的一些行:因此我有一个 QStringList,其中包含要突出显示
如何将 BundleItem 类的项附加到 QListView 的 QStandardItem 模型?当附加它们时,我只想使用 BundleItem 的 Name 属性显示在 ListView 中。我
当分配在堆栈上的 QStandardItemModel 被销毁时,模型中的指针指向的对象会发生什么(例如 item/ item2 指针,如下例所示): QStandardItem* item = ne
有没有办法将 QStandardItemModel 复制到另一个 QStandardItemModel? 或者我必须遍历每个项目并将其附加到另一个模型? 最佳答案 一件元素只能由一个模型拥有。这就是为
目前,我想更新 QStandardItemModel 中的行项目,不会丢失相应 QTableView 中的排序顺序和行选择。 我测试了两种方法: 通过 clear() 清除模型并重新添加行会“破坏”包
我试图删除 QTableView 的所有选定索引, 现在我使用: foreach (const QModelIndex & idx, model->selectionModel()->selected
目前,我想更新 QStandardItemModel 中的行项目,不会丢失相应 QTableView 中的排序顺序和行选择。 我测试了两种方法: 通过 clear() 清除模型并重新添加行会“破坏”包
我正在创建一个应用程序,我需要使用另一个类(class)提供给我的列表来制作 list 。用户将选中他们想要的项目旁边的复选框,然后单击按钮。对于那些已检查的行,我想打印“您检查了号码 ___”。在相
我正在尝试使用 QTreeView 和 QStandardItemModel 在 PyQt4 中实现帐户结构(带有子帐户)。经过大量的试验和错误,我终于准备好了 TreeView 。现在,我希望当我单
我是一名优秀的程序员,十分优秀!