我已经创建了SortFilterProxyModel
以及QStandardItemModel
和QTreeView
。我只需要显示行,第二列等于QStringList
中的值之一。谁能告诉我该怎么做?我想到了setFilterFixedString
,但这仅适用于单个QString
,不适用于列表...
我的代码:
#include "dicomtagsproxymodel.h"
DicomTagsProxyModel::DicomTagsProxyModel(QObject *parent) : QSortFilterProxyModel(parent)
{
}
DicomTagsProxyModel::~DicomTagsProxyModel(void)
{
}
bool DicomTagsProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
{
QModelIndex index1 = sourceModel()->index(sourceRow, 1, sourceParent);
if (sourceModel()->data(index1).toString() == HOW TO GET THE VALUES OF MY STRINGLIST HERE?)
}
最佳答案
您应该子类化QSortFilterProxyModel
,然后重新实现protected
方法virtual bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const
。在重新实现的方法中,您可以检查QStringList
中index的值。
关于c++ - 如何仅显示包含包含来自QStringList的QString的列的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34896876/