gpt4 book ai didi

c++ - NetworkManager 和 Qt 问题

转载 作者:太空狗 更新时间:2023-10-29 23:09:37 26 4
gpt4 key购买 nike

我对使用 Qt4/Dbus 还是很陌生,我正在尝试使用 Qt API 获取访问点列表以发送/接收 Dbus 消息。我收到以下错误:

org.freedesktop.DBus.Error.UnknownMethod
Method "GetAccessPoint" with signature "" on interface "org.freedesktop.NetworkManager.Device.Wireless" doesn't exist

代码是:

QStringList *netList = new QStringList();
QDBusConnection sysbus = QDBusConnection::systemBus();
QDBusInterface callNM("org.freedesktop.NetworkManager","/org/freedesktop/NetworkManager","org.freedesktop.NetworkManager.Device.Wireless",sysbus);
if(callNM.isValid())
{
QDBusMessage query= callNM.call("GetAccessPoints");
if(query.type() == QDBusMessage::ReplyMessage)
{

QDBusArgument arg = query.arguments().at(0).value<QDBusArgument>();
arg.beginArray();
while(!arg.atEnd())
{
QString element = qdbus_cast<QString>(arg);
netList->append(element);
}
arg.endArray();
}else{
std::cout<< query.errorName().toStdString() << std::endl;
std::cout<< query.errorMessage().toStdString() << std::endl;
}
int x= netList->size();
for(int y=0; y< x ;y++)
{
widget.avail_nets->addItem(netList->at(y)); // just print it to my gui from the stringlist array
}

}else{
std::cout<<"fail" << std::endl;
}

怎么了?我的命名是正确的,我正在遵循 here 中的确切规范

最佳答案

方法名称是GetAccessPoints

虽然你的错误是:

org.freedesktop.DBus.Error.UnknownMethod Method "GetAccessPoint" with signature "" on interface "org.freedesktop.NetworkManager.Device.Wireless" doesn't exist

突出显示 “GetAccessPoint”。因此,您可能在代码中拼错了方法名称,尽管您在此处粘贴的代码使用了正确的方法名称,但也许您修复了它而忘记了重建或清理项目?

关于c++ - NetworkManager 和 Qt 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4496669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com