上周我一直在努力创建一个给定一行和一列的 QModelIndex。
或者,我会满足于在已经存在的 QModelIndex 中更改 row() 的值。
任何帮助,将不胜感激。
编辑:
QModelIndex nIndex = QAbstractItemModel::createIndex(1, 2);
int b = nIndex.row();
qInfo() << "b" << b;
因错误而失败:
cannot call member function ‘QModelIndex QAbstractItemModel::createIndex(int, int, void*) const’ without object
QModelIndex nIndex = QAbstractItemModel::createIndex(1, 2);
^
手头的目标是这样的:
我有一个功能:
void MyClass::doStuff(QModelIndex index)
在该类(class)中,我基本上执行以下操作:
if (index.column() != 1)
{
int a=index.row();
}
所以我的目标是从不同的类调用该函数并将 QModelIndex 传递给它,但要使用我指定的行/列创建该索引。
最佳答案
我不确定这是否是您想要的,但是您可以使用 QModelIndex
( http://doc.qt.io/qt-5/qabstractitemmodel.html#index ) 方法创建一个 QAbstractItemModel::index(row, column)
!?另一方面,对于您来说,与它斗争了这么长时间似乎很简单,也许可以再解释一下。
例子:
QAbstractTableModel *model = ...;
// then you can do something like
QModelIndex nIndex = model->index(1,2);
int b = nIndex.row();
qInfo() << "b" << b;
关于qt - 创建 QModelIndex,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42487645/