我有以下c ++插件代码:
class NetworkManager : public QObject
{
Q_OBJECT
...
enum WIFIStat{
STAT_NOTINITED,
STAT_INITED
};
Q_ENUM(WIFIStat)
Q_PROPERTY(WIFIStat wifiStatus READ wifiStatus NOTIFY wifiStatusChanged)
我希望连接到QML中的信号处理程序:
signal wifiStatusChanged(WIFIStat wifiStatus);
onWifiStatusChanged: {
console.log(wifiStatus)
}
Component.onCompleted: {
network_manager.wifiStatusChanged.connect(wifiStatusChanged);
}
但是我得到了以下错误:
Invalid signal parameter type: WIFIStat
如何在处理函数中定义枚举NetworkManager::WIFIStat
类型参数?
答案 0 :(得分:0)
我在处理函数参数中使用var解决了问题:
signal wifiStatusChanged(var wifiStatus);
但我最后使用了另一种方法: https://stackoverflow.com/a/29202462/2614418
Connections{
target: network_manager
onWifiStatusChanged: {
console.log("Status:"+wifiStatus)
}
}