Creo que sería mejor si marca esta tutorial:
http://doc.qt.io/qt-4.8/qtbinding.html
especialmente esta sección:
http://doc.qt.io/qt-4.8/qtbinding.html#receiving-signals
creo que su error en este caso, podría bien ser que usted no declaró como una ranura o que no lo hacen invocable. Ambas opciones se explican en el Tutorial de Qt.
Además, es necesario utilizar un QVariant con el fin de intercambiar datos entre C++ y QML. También puede registrar tipos, p. Widgets y demás, para que pueda usarlos en QML como un tipo "nativo", como un rectángulo. En la mayoría de los casos esto no es recomendable, excepto si necesita cierta clase externa o algunos datos que de otra manera no se pueden visualizar en su Interfaz QML.
La razón de la QVariant es el enfoque basado en el guión de QML. QVariant básicamente contiene sus datos y una descripción del tipo de datos, de modo que el QML sepa cómo manejarlo correctamente. Es por eso que debe especificar el parámetro en QML con String, int, etc. Pero el intercambio de datos original con C++ sigue siendo un QVariant
He usado el qmlRegisterType antes, pero es una solución muy inconveniente para tipos de datos simples. Se utiliza bastante para datos más complejos, como Widgets personalizados, Canvas o elementos de video que QML no admite o extiende originalmente QStandardItemModels
. Es una forma más conveniente de intercambiar datos entre QML y C++ y no necesita señales o ranuras en primera instancia, porque QStandardItemModel actualiza la GUI automáticamente. Para usar QStandardItemModel, debe registrar el Tipo con qmlRegisterType ... El modelo puede ser utilizado en el modelo basado Vistas como el ListView etc.
Os adjunto un tutorial para este tema, se describe cómo utilizar la QListModel.
http://doc.qt.io/qt-4.8/qdeclarativemodels.html
No tiene argumento QString en su updateViewWithItem? (Lo que indica el error) – Bart
Lo siento, se me olvidó volver a agregarlo después de la prueba. Sin embargo, todavía no funciona. Intenté updateViewWithItem (QString) y updateViewWithItem (cadena). – alex
señal de C++ significa una biblioteca C++ o una clase Qt ??? – UmNyobe