Здравствуйте, помогите пожалуйста разобраться с одним моментом.
---Test.h---
class TestClass : public QObject
{
Q_OBJECT
public:
explicit TestClass(QObject *parent = 0);
Q_PROPERTY(QString firstName READ getFirstName WRITE setFirstName NOTIFY firstNameChanged)
signals:
void firstNameChanged( const QString& name);
public slots:
QString getFirstName() const { return m_name; }
int setFirstName(QString name);
void changeName();
private:
QString m_name;
QPushButton* m_changeNameButton;
};
---Test.cpp---
TestClass::TestClass(QObject *parent) :
QObject(parent)
{
m_changeNameButton = new QPushButton("Change");
connect(m_changeNameButton,SIGNAL(clicked()),this,SLOT(changeName()));
m_changeNameButton->show();
changeName();
}
int TestClass::setFirstName(QString name)
{
m_name = name;
emit firstNameChanged(m_name);
}
void TestClass::changeName()
{
setFirstName("New Name");
}
--main.qml---
Rectangle {
id: mainWindow
width: 600
height: 600
color: "#343434"
Test
{
onFirstNameChanged: {
console.log("QML: Name changed!");
}
}
}
Вопрос в следующем....
Как видите в конструкторе я вызываю changeName(); При этом я должен получить сообщение из QML , но я его не получаю...
Но если я нажму на кнопку, то сообщение успешно выводиться на экран, хотя опять же с помощью кнопки я вызываю тот же метод changeName();
Подскажите , пожалуйста, в чем может быть проблема?