Próbuję uruchomić inną stronę QML z mojego kodu C++, zahaczając o kliknięcie() w przycisk w moim QML, ale to nie działa.Jak reagować na przycisk QML Kliknij w C++
Button {
objectName: btnLogin
text: qsTr("Login")
id: btnLogin
}
I C++
QObject *newButton = root->findChild<QObject*>("btnLogin");
QObject::connect(newButton, SIGNAL(clicked()), this, SLOT(loginClick()));
Szczeliny w moim pliku HPP:
public slots:
void loginClick();
A mój kliknięciu metoda:
void GConnectBB::loginClick() {
int i = 0;
Button *newButton = root->findChild<Button*>("btnLogin");
if (newButton)
newButton->setProperty("text", "New button text");
}
QObject *newButton = root->findChild<QObject*>("btnLogin");
Czy zerowy kiedy sprawdzić poprzez debugger. Jestem bardzo zardzewiały z C++ i zupełnie nowy w Qt, proszę bądź łagodny :) Co mogę zrobić źle?
czy to nie jest uważane za złą praktykę (elementy dostęp UI z C++)? Próbowałem się nauczyć jak podłączyć moją metodę obiektu C++ do sygnału obiektu qml ... –
@JoaoMilasch tak to jest. To był tylko przykład. Głównym celem było przekonanie kodu C++ do kliknięcia przycisku. – Tjaart