0

我想在 Gnome 上获得空闲时间。以下命令在输入终端时有效:

dbus-send --print-reply --dest=org.gnome.Mutter.IdleMonitor /org/gnome/Mutter/IdleMonitor/Core org.gnome.Mutter.IdleMonitor.GetIdletime

我是 Qt D-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。如何获得正确的空闲时间?

4

1 回答 1

0

我能够通过将 QDBusReply 的类型更改为qulonglong. 工作代码是:

QDBusInterface interface( "org.gnome.Mutter.IdleMonitor",
                          "/org/gnome/Mutter/IdleMonitor/Core",
                          "org.gnome.Mutter.IdleMonitor");

QDBusReply<qulonglong> reply = interface.call("GetIdletime");
于 2022-01-29T14:59:30.610 回答