私はQMLでスクリーンショットアプリケーションを開発していますが、Rhythmboxがユーザーに新しい曲の開始を通知するとき、または音量が変更されたときに使用するものと同様に、 nity 7通知 を利用したいと思います。
このためのAPIはありますか?小さなコーディング例が役立ちます。
私の知る限り、QMLコンポーネントからlibnotify
を呼び出すような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() {});
}
}
}
また、python code(両方を同じディレクトリに保持))、notify.py
という名前のファイル:
#!/usr/bin/env python3
import subprocess
def pressme():
subprocess.call(["notify-send", "hello", "world"])
QMLボタンを押すと、次のような通知が表示されます。
さらなるオプションについては notify-send man page を読んでください。