问题标签 [qdbus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
39 浏览

qt - 调试器在 X (arm) 上冻结

我正在Olimex A20使用 Qt 5.7 开发一个应用程序。这个应用程序需要在 X 上运行。如果我只是运行该应用程序,它就可以正常工作。问题在于调试 - 调试器冻结。这是我在中断调试器时看到的堆栈跟踪。

这是调试器正在等待某事发生的代码行(qwaitcondition_unix.cpp- 第 143 行)。

code = pthread_cond_wait(&cond, &mutex);

这是来自线程 #1 的主要堆栈跟踪

这是线程#6

有人遇到过这个问题吗?任何指针将不胜感激。

0 投票
1 回答
121 浏览

python-3.x - 这堂课有什么问题?( QDBusAbstractAdaptor )

我有以下课程:

它失败并出现以下错误:

二传手工作得很好,所以我不知道这里出了什么问题。

0 投票
1 回答
644 浏览

c++ - 在 Qt/DBus 适配器中实现异步功能的正确方法

如 D-Bus 文档中所述,所有 IPC 调用都被视为异步调用。当 Qt 通过QDBusAbstractInterface调用远程 D-Bus 对象时,QBusPendingCall<T> 是完全异步的,并在调用完成时提供信号。

在我的应用程序设计中,我想在我的对象适配器上实现异步调用,但当前的 Qt/DBus 实现假定所有方法调用都是阻塞的。

所以,有一个问题:是否有适当的方法来实现异步处理 D-Bus 方法调用?

0 投票
1 回答
659 浏览

c++ - qt dbus中服务器客户端之间的通信

我是 QT 编程的新手。我正在尝试使用 DBUS 在两个 qt 应用程序之间进行通信,我已经能够创建一个接口适配器并进行如下通信,

  • 在服务器应用程序上注册服务。
  • 连接到客户端的接口对象并调用服务器中的方法。

我的问题是,如果服务器必须向客户端发送回消息,客户端应该创建一个新接口还是有其他方法可以做到这一点?

0 投票
1 回答
1579 浏览

qt - Qt 中的 Dbus 信号和插槽

我需要捕捉来自 QDBus 的信号,我是新手,不知道如何捕捉来自 QDbus 的信号。请举例说明,以便我理解。

0 投票
1 回答
1882 浏览

dbus - 在 KDE 中以编程方式更改壁纸

我想在 F# 中编写一个程序来更改 Linux 上的墙纸。似乎我需要在 KDE 中使用 dbus 和 JS 来做到这一点,我对此有点困惑。
我找到了这个,并尝试运行qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript ~/scripts/wallpaper.jswallpaper.js如下:

但我得到这个错误:
Error: org.freedesktop.DBus.Error.Failed SyntaxError: Invalid regular expression: invalid regular expression

有一个更好的方法吗?如果不是,那么做我想做的事情的正确方法是什么?

0 投票
1 回答
339 浏览

c - QDBus 与我的服务器一起用作客户端,但不适用于 GDbus

我使用 Qt 的 QDBus 在 Linux 中编写了一个简单的 DBus 服务器。这是一个非常少量的代码,它的核心在这里:

然后我在 Linux 中也使用 Qt 的 QDBus 编写了一个小型 DBus 客户端。它工作得很好,我可以成功地从这个客户端通信到我的服务器。客户端代码:

不,我正在尝试使用 GDBus 来实现客户端。到目前为止,我有这个:

当我运行此代码时,它不像 QDBus 那样工作,它会出现以下错误:

所以 QDBus 与服务器一起工作,但 GDBus 不。我究竟做错了什么?谢谢。

0 投票
1 回答
1484 浏览

c++ - 如何使用 QDBus 解析 {String, Dict of {String, Variant}} 的字典?

我正在查询 NetworkManager 的org.freedesktop.NetworkManager.Settings.Connection接口,在上面调用“GetSettings”。它返回一个Dict of {String, Dict of {String, Variant}}a{sa{sv}}Dbus 类型术语。我正在使用 QtCreator 和 Qt4 来构建我的应用程序。

我似乎无法从这本词典中得到一条有用的信息。我无法提供 MVE,因为如果 NetworkManager 和 DBus 以及 Qt4 安装在某人的系统上,它会严重依赖。

这是我正在开发的从字符串字典和字符串和变体字典中获取信息的方法。将它输送到 qDebug(): 时,我可以看到我想要的所有好数据qDebug()<<reply

很难找到解析 Dict 类型的信息。我发现提供一些信息的唯一来源是KDE。它说“DBus Dict 类型应该映射到 QMap,要遵循的示例..”并且 Google 上没有其他点击或示例存在。也许我缺少一些基本的 DBus 知识,但我很难过。

我还查看了这个出色的答案:如何在 Qt DBus 调用中从 QDBusMessage 中提取返回的数据?但我无法调整它来解析字典。

有人知道如何到达最后一个嵌套的 QVariant 吗?

0 投票
0 回答
224 浏览

c++ - 将 QObject 添加到 QT 主循环以接收 dbus 消息

我有一个 Qt 控制台应用程序。在这个应用程序中,有一个“my_client”类型的对象。“my_client”对象有一个名为“messageSlot”的槽。此插槽连接到 DBUS 消息。

所以这个qt app的主要功能如下:

my_client 如下:

但是使用此代码我无法接收 DBUS 消息。我认为问题在于客户端对象没有主循环,因此无法接收信号。

我对吗?如果是这样,我们如何将客户端对象添加到主循环?如果没有,这段代码有什么问题?如何接收 dbus 消息并使用 QT 信号/插槽处理它们?

0 投票
0 回答
89 浏览

qt - 将 QVector 属性暴露给 D-Bus

我想拥有一个像

将其公开为 D-Bus 服务。当然,客户端也需要阅读它。

问题:

当我这样做并启动我的服务时,它不会出现在 QDbusViewer

谢谢你的帮助。