# -*- coding:utf-8 -*-
import sip
sip.setapi('QVariant', 2)
from PyQt4 import QtGui,QtCore
import sys,winsound
class DigitalClock(QtGui.QLCDNumber):
def __init__(self, parent=None):
#super(DigitalClock, self).__init__(parent)
QtGui.QLCDNumber.__init__(self,parent)
self.setSegmentStyle(QtGui.QLCDNumber.Filled)
timer = QtCore.QTimer(self)
timer.timeout.connect(self.showTime)
timer.start(1000)
self.showTime()
self.setWindowTitle("Digital Clock")
self.resize(150, 60)
def showTime(self):
time = QtCore.QTime.currentTime()
text = time.toString('hh:mm')
if (time.second() % 2) == 0:
text = text[:2] + ' ' + text[3:]
self.display(text)
class Clock(QtGui.QWidget):
def __init__(self,parent=None):
super(Clock,self).__init__(parent)
icon = QtGui.QIcon(r"C:\Users\eth1\Desktop\ninja.gif")
#self.trayicon = QtGui.QSystemTrayIcon()
timer = QtCore.QTimer(self)
timer.timeout.connect(self.update)
timer.start(1000)
self.createAction()
self.createTrayIcon()
self.trayicon.messageClicked.connect(self.messageClicked)
self.trayicon.activated.connect(self.iconActivated)
self.trayicon.setIcon(QtGui.QIcon("C:\Users\eth1\Desktop\CrossFire.ico"))
#self.trayicon.setVisible(True)
self.trayicon.show()
self.setWindowTitle('memo')
self.setWindowIcon(icon)
self.resize(200,200)
#self.hide()
def showMessage(self):
print 'hello'
def messageClicked(self):
QtGui.QMessageBox.information(None, "Systray",
"Sorry, I already gave what help I could.\nMaybe you should "
"try asking a human?")
def iconActivated(self,reason):
if reason in (QtGui.QSystemTrayIcon.Trigger, QtGui.QSystemTrayIcon.DoubleClick):
if self.isHidden():
self.showNormal()
else :
self.hide()
def update(self):
time = QtCore.QTime.currentTime()
if time.minute()%32 == 0 and time.second() == 0:
path = u"C:\\Users\\eth1\\Desktop\\Round.wav"
winsound.PlaySound(path,winsound.SND_NODEFAULT)
def closeEvent(self,event):
if self.trayicon.isVisible():
self.hide()
event.ignore()
def edit(self):
pass
def clock(self):
self.clock = DigitalClock()
self.clock.show()
def createAction(self):
self.quitAction = QtGui.QAction('&Quit',self,triggered=QtGui.qApp.quit)
self.editAction = QtGui.QAction('&Edit',self,triggered=self.edit)
self.clockAction = QtGui.QAction('&Clock',self,triggered=self.clock)
def createTrayIcon(self):
self.trayIconMenu = QtGui.QMenu()
self.trayIconMenu.addAction(self.clockAction)
self.trayIconMenu.addAction(self.editAction)
self.trayIconMenu.addAction(self.quitAction)
self.trayicon = QtGui.QSystemTrayIcon(self)
self.trayicon.setContextMenu(self.trayIconMenu)
if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
QtGui.QApplication.setQuitOnLastWindowClosed(False)
clock = Clock()
clock.show()
sys.exit(app.exec_())