openKylin论坛

标题: desktop文件通过dbus如何打开 [打印本页]

作者: vonu    时间: 2023-2-8 10:41
标题: desktop文件通过dbus如何打开
请问一下,系统如何通过dbus接口打开desktop文件

作者: devnqiu    时间: 2023-2-8 14:01
使用interface call方法 供参考
QDBusReply<bool> devStatus = QDBusInterface->call("function_name", QString desktopFile,QStringList args);
作者: vonu    时间: 2023-2-8 14:06
devnqiu 发表于 2023-2-8 14:01
使用interface call方法 供参考
QDBusReply devStatus = QDBusInterface->call("function_name", QString  ...

麒麟系统是否提供了function_name
作者: devnqiu    时间: 2023-2-8 14:12
本帖最后由 devnqiu 于 2023-2-8 14:13 编辑

[quote]vonu 发表于 2023-2-8 14:06
麒麟系统是否提供了function_name
这是你自己实现的函数.
bool ScreenShotShortcut:aunchAppWithArguments(QString desktopFile,QStringList args)
{
    if (m_appManagerDbusInterface != nullptr) {
        QDBusReply<bool> devStatus = m_appManagerDbusInterface->call("LaunchAppWithArguments", desktopFile, args);
        //qDebug() << "use launch" << "size";
        return devStatus;
    } else {
        qWarning()<<"LaunchAppWithArguments is failed,return false";
        return false;
    }
}


gitee上有ukui-sidebar的源码. 里面有注册dbus服务,客户端通信的过程.
你可以研究一下.
作者: vonu    时间: 2023-2-8 15:17
devnqiu 发表于 2023-2-8 14:12
[quote]vonu 发表于 2023-2-8 14:06
麒麟系统是否提供了function_name
这是你自己实现的函数.

我看一下代码,他是通过dbus调用的,但是我用d-feet查看,没有找到对应的dbus服务,是我的系统版本低吗

作者: devnqiu    时间: 2023-2-8 19:56
vonu 发表于 2023-2-8 15:17
我看一下代码,他是通过dbus调用的,但是我用d-feet查看,没有找到对应的dbus服务,是我的系统版本低吗

是这样的..  我的系统是openkylin
ukui-sidebar  是openkylin的一个侧边栏组件.
这里的com.kylin.*几个服务是Session bus  不是 system bus
我用QDBusViewer可以看到, 你用QDBusViewer 试试. (, 下载次数: 40)





欢迎光临 openKylin论坛 (https://forum.openkylin.top/) Powered by Discuz! X3.3