Zajmuję się tworzeniem aplikacji mobilnej BlackBerry 10 za pomocą IDE Momentics (natywny pakiet SDK).Jak mogę rzucić QVariant do niestandardowej klasy?
Mam listview, który chcę obsłużyć jego elementów kliknij z C++ (muszę użyć C++ nie QML).
Mogę uzyskać ścieżkę indeksu za pomocą instrukcji "połącz", ale mam problem z analizą QVariant dla niestandardowej klasy;
Q_ASSERT(QObject::connect(list1, SIGNAL(triggered(QVariantList)), this, SLOT(openSheet(QVariantList))));
QVariant selectItem = m_categoriesListDataModel->data(indexPath);
Próbowałem użyć statycznej obsady jak poniżej
Category* custType = static_cast<Category*>(selectItem);
ale zwraca:
"invalid static_cast from type 'QVariant' to type 'Category*'"
Czy ktoś może mi pomóc w tej sprawie?
Czy możesz dodać kod, aby pokazać, jak dodać dane do modelu? – Kunal
Nie należy używać Q_ASSERT w takich przypadkach! Q_ASSERT nie będzie działać w wersji release, a sygnał nie będzie podłączony. –