PyQt4: inserire una icona nel vassoio di sistema

Una applicazione ospitata nel vassoio di sistema (system tray, in inglese) da grandi vantaggi, quale quello di essere facilmente accessibile, pur occupando uno spazio ridotto. Lo svantaggio di questo tipo di applicazioni e' che spesso il vassoio di sistema e' pieno zeppo di icone.

Qualora trovaste indispensabile aggiungere nel vassoio di sistema la vostra iconcina ma non sapete come fare, allora siete nel posto giusto!
Ecco un esempio commentato che vi spieghera' come cominciare
from PyQt4 import QtCore, QtGui
# Creiamo un'applicazione Qt, ...
app = QtGui.QApplication([])
# e un'icona
icon=QtGui.QIcon("/usr/lib/firefox-2.0.0.10/res/samples/raptor.jpg")
# Mettiamola nel systray
systray=QtGui.QSystemTrayIcon(icon)
# e mostriamola
systray.show()
# Interagiamo con l'utente
titolo="Titolo" # Ma che fantasia!
messaggio="Messaggio per l'utente!\nClicca per chiudere l'applicazione"
tempo=10000 # in millisecondi
systray.showMessage(titolo,
messaggio,
QtGui.QSystemTrayIcon.Information,
tempo)
# connettiamo il click alla chiusura dell'applicazione
QtCore.QObject.connect(systray, QtCore.SIGNAL("messageClicked()"), app.quit)
# Eseguiamo l'applicazione
app.exec_()

Ovviamente potete cambiare il titolo, il messaggio, l'icona, ecc...
Quel che e' certo e' che per rendere l'applicazione interessante e fruibile potreste aggiungerci un menu' contestuale e altre amenita' e impostare connessioni piu' sensate.

Nessun commento: