Summerfield en PyQT kitabında, onun alert.py
örnek Bölüm 4 uyarlanan bir komut dosyasıdır. Bu ücretsiz dijital buradadır: http://www.informit.com/articles/article.aspx?p=1149122
Temelde bir hedef QDateTime
ayarlamak ve sonra currentQDateTime
için hedef karşılaştırarak istediğiniz çağrılabilir ne tetikleyebilir: Bir QLabel açılır
from PySide import QtCore, QtGui
import sys
import time
#Prepare alarm
alarmMessage = "Wake up, sleepyhead!"
year = 2016
month = 4
day = 23
hour = 12
minute = 40
alarmDateTime = QtCore.QDateTime(int(year), int(month), int(day), int(hour), int(minute), int(0))
#Wait for alarm to trigger at appropriate time (check every 5 seconds)
while QtCore.QDateTime.currentDateTime() < alarmDateTime:
time.sleep(5)
#Once alarm is triggered, create and show QLabel, and then exit application
qtApp = QtGui.QApplication(sys.argv)
label = QtGui.QLabel(alarmMessage)
label.setStyleSheet("QLabel { color: rgb(255, 0, 0); font-weight: bold; font-size: 25px; \
background-color: rgb(0,0,0); border: 5px solid rgba(0 , 255, 0, 200)}")
label.setWindowFlags(QtCore.Qt.SplashScreen | QtCore.Qt.WindowStaysOnTopHint)
label.show()
waitTime = 10000 #in milliseconds
QtCore.QTimer.singleShot(waitTime, qtApp.quit)
sys.exit(qtApp.exec_())
Bu birine sahiptir İstediğiniz gün ve saatte, ama bu keyfi. İstediğin herşeyi yapabilirdin. Her gün aynı anda çalışmasını istiyorsanız, bunu uygun şekilde değiştirmeniz gerekir, ancak bu olayları tetiklemek için QDateTime
'u kullanmaya başlamanız yeterli olacaktır.
ekranda gösteren bir komut penceresi olmadan, Windows çalışıyorsanız ve arka planda çalıştırmak istiyorsanız
Not sonra burada tavsiye izleyin:
How can I hide the console window in a PyQt app running on Windows? Yani
programı kaydetmek .pyw
uzantısı ile ve python.exe
değil pythonw.exe
ile çalıştığından emin olun.