web-dev-qa-db-ja.com

PythonとPyQtを使用してアプリメニューを作成する方法は?

Python3.2とpyqt4を使用してappmenuインジケーターを作成する方法を探しています。私を助けてください。

4
harish

短い:Ubuntu 11.10は、可能な場合はQSystemTrayIconがインジケーターを作成するように修正されたQTを出荷します。古いUbuntuバージョンでは、パッチを適用したバージョンのQtが必要です。これにより、プログラムを配布するのが面倒になります。

Long:CanonicalがQtでインジケーターを使用するために提供するパッチがありますが、Qtの公式リリースにはまだ統合されておらず、Qt 5より前には発生しそうにありません。出典:著者 blogpost QtフォーラムのNokia/Trolltech開発者から。

Ubuntu 11.10はこのパッチを有効にして出荷されるため、このようなコードは11.10で使用された場合にインジケーターを作成します

import sys
from PyQt4 import QtGui

app = QtGui.QApplication([])
icon = QtGui.QSystemTrayIcon(QtGui.QIcon("test.png"), app)
menu = QtGui.QMenu()
menu.addAction("Quit", QtGui.qApp.quit)
icon.setContextMenu(menu)
icon.show()
app.exec_()

Test.pngに適切なアイコンが必要です。

KDE(プレーンQTではない)アプリは、kdelibsを使用してインジケーターを既にサポートしていることに注意してください。

libindicate-qt プロジェクトもありますが、python入札もドキュメントも見つかりません。

4
Javier Rivera