J'ai passé la dernière semaine à avoir du mal à créer un QModelIndex avec une ligne et une colonne. Sinon, je me contenterais de changer la valeur de row() dans un QModelIndex déjà existant.Création d'un QModelIndex
Toute aide serait appréciée.
Edit:
QModelIndex nIndex = QAbstractItemModel::createIndex(1, 2);
int b = nIndex.row();
qInfo() << "b" << b;
échoue avec l'erreur:
cannot call member function ‘QModelIndex QAbstractItemModel::createIndex(int, int, void*) const’ without object
QModelIndex nIndex = QAbstractItemModel::createIndex(1, 2);
^
L'objectif à portée de main est la suivante:
J'ai une fonction:
void MyClass::doStuff(QModelIndex index)
intérieur de cette classe , Je fais essentiellement e suit:
if (index.column() != 1)
{
int a=index.row();
}
Donc, mon objectif est d'appeler cette fonction à partir d'une autre classe et passer un QModelIndex, mais pour cet indice ait été créé avec une ligne/colonne je précise.
Je pense que le vrai combat vient d'être nouveau à Qt. Je pense que ce que vous avez dit est ce que je veux et que j'ai essayé; Cependant, la lutte continue. J'ai mis à jour mon post initial pour avoir plus d'infos. Je vous remercie! –
J'ai changé ma réponse, le premier lien était faux désolé, vous pouvez utiliser le 'QAbstractItemModel :: index' (pas' createIndex', qui est protégé), et si vous êtes nouveau, vous ne pouvez pas l'appeler comme ça c'est pas statique. Vous avez besoin d'un "modèle de données" valide dans lequel vous stockez les données et sur ** que ** appelez la méthode 'index'. Je suppose que vous avez un modèle quelque part, quoi d'autre est le point d'obtenir un 'QModelIndex'? – xander
@MetalWing J'ai ajouté un petit exemple à ma réponse, mais cela dépend de ce que vous utilisez réellement comme modèle, je n'en ai aucune idée. :) – xander