我想在Gnome上获得空闲时间。当输入到终端时,以下命令有效:
dbus send--print reply--dest=org.gnome.Mutter.IdleMonitor.org/gnome/Mutter/IdleMonitor/Core org.gnome.Mutter.IdleMonitor.GetIdletime
我是QtD-Bus的新手,不知道如何使用QDBusInterface获得相同的结果。我有以下代码:
QDBusInterface interface( "org.gnome.Mutter.IdleMonitor",
"/org/gnome/Mutter/IdleMonitor/Core",
"org.gnome.Mutter.IdleMonitor");
QDBusReply<int> reply = interface.call( "GetIdletime");
std::cout << "Reply: " << reply.value() << 'n';
每次打印0。如何获得正确的空闲时间?
我可以通过将QDBusReply的类型更改为qulonglong
来实现这一点。工作代码为:
QDBusInterface interface( "org.gnome.Mutter.IdleMonitor",
"/org/gnome/Mutter/IdleMonitor/Core",
"org.gnome.Mutter.IdleMonitor");
QDBusReply<qulonglong> reply = interface.call("GetIdletime");