[英]connect c++ object signal to QML signal handler with enum parameter
I have the following c++ plugin code: 我有以下c ++插件代码:
class NetworkManager : public QObject
{
Q_OBJECT
...
enum WIFIStat{
STAT_NOTINITED,
STAT_INITED
};
Q_ENUM(WIFIStat)
Q_PROPERTY(WIFIStat wifiStatus READ wifiStatus NOTIFY wifiStatusChanged)
and i want to connect to a signal handler in QML: 我想连接到QML中的信号处理程序:
signal wifiStatusChanged(WIFIStat wifiStatus);
onWifiStatusChanged: {
console.log(wifiStatus)
}
Component.onCompleted: {
network_manager.wifiStatusChanged.connect(wifiStatusChanged);
}
but i'm getting the follwing error: 但我收到以下错误:
Invalid signal parameter type: WIFIStat
How can i define the enum NetworkManager::WIFIStat
type parameter int the handler function? 如何定义处理程序函数中的枚举NetworkManager::WIFIStat
类型参数?
I solved the problem using var in my handler function parameter: 我在处理程序函数参数中使用var解决了问题:
signal wifiStatusChanged(var wifiStatus);
but i ended up using another approach as stated here: https://stackoverflow.com/a/29202462/2614418 但我最终使用了此处所述的另一种方法: https : //stackoverflow.com/a/29202462/2614418
Connections{
target: network_manager
onWifiStatusChanged: {
console.log("Status:"+wifiStatus)
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.