Asy*_*ync 6 notification indicator application-development qml ubuntu-sdk
我正在 QML 中开发一个屏幕截图应用程序,我希望利用Unity 7 通知,类似于 Rhythmbox 在通知用户新歌曲已经开始或音量改变时使用的通知。
是否存在用于此的 API?一个小的编码示例会有所帮助。
据我所知,不存在可以libnotify从 QML 组件调用的 API。
为了避免创建 C++ 插件只是为了获取桌面应用程序的通知,我将使用pyotherside调用一个小型 python 模块来完成这项工作:
先决条件:
安装pyotherside:sudo ap-get install pyotherside
首先是 QML:
import QtQuick 2.0
import Ubuntu.Components 1.1
import io.thp.pyotherside 1.2
Rectangle {
width: 200
height: 200
Button {
text: "press"
anchors.centerIn: parent
onClicked: {
py.call('notify.pressme', [], function() {});
}
}
Python {
id: py
Component.onCompleted: {
addImportPath(Qt.resolvedUrl('.'));
importModule('notify', function() {});
}
}
}
Run Code Online (Sandbox Code Playgroud)
和 python 代码(将两者保存在同一目录中),一个名为notify.py:
#!/usr/bin/env python3
import subprocess
def pressme():
subprocess.call(["notify-send", "hello", "world"])
Run Code Online (Sandbox Code Playgroud)
按下 QML 按钮后,您将收到如下通知:

请阅读通知发送手册页以获取更多选项。