returnx
جمعه 27 تیر 1393, 17:42 عصر
فرض کنید کلاسی داریم به این شکل :
class register_action_layer : public QObject
{
Q_OBJECT
public:
explicit register_action_layer(QObject *parent = 0);
Q_INVOKABLE bool try_login(QString email);
signals:
void pars_finished();
public slots:
void recive_data_finished(QByteArray recive_data);
private :
Network_Access_Layer *m_network_request_manager;
};
حالا می خوایم از این کلاس در QML استفاده کنیم و به این شکل عمل می کنیم:
register_action_layer i_register;
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("Register_Class",&i_register);
engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
خوب الان در کد qml به try_login() دسترسی داریم اما به سیگنال pars_finished دسترسی نداریم و وقتی استفاده می کنیم با ای خطا مواجه میشیم :
Cannot assign to non-existent property "onpars_finished"
دلیل این خطا چیست!؟
class register_action_layer : public QObject
{
Q_OBJECT
public:
explicit register_action_layer(QObject *parent = 0);
Q_INVOKABLE bool try_login(QString email);
signals:
void pars_finished();
public slots:
void recive_data_finished(QByteArray recive_data);
private :
Network_Access_Layer *m_network_request_manager;
};
حالا می خوایم از این کلاس در QML استفاده کنیم و به این شکل عمل می کنیم:
register_action_layer i_register;
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("Register_Class",&i_register);
engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
خوب الان در کد qml به try_login() دسترسی داریم اما به سیگنال pars_finished دسترسی نداریم و وقتی استفاده می کنیم با ای خطا مواجه میشیم :
Cannot assign to non-existent property "onpars_finished"
دلیل این خطا چیست!؟