我试图通过挂钩到我的 QML 中按钮的 clicked() 插槽,从我的 C++ 代码启动不同的 QML 页面,但它不起作用。
Button {
objectName: btnLogin
text: qsTr("Login")
id: btnLogin
}
和 C++
QObject *newButton = root->findChild<QObject*>("btnLogin");
QObject::connect(newButton, SIGNAL(clicked()), this, SLOT(loginClick()));
我的 hpp 文件中的插槽:
public slots:
void loginClick();
而我的点击方法:
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");
当我通过调试器检查时为空。我对 C++ 非常生疏,对 Qt 完全陌生,请温柔:) 我做错了什么?