2016-04-11 41 views

cevap

0

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.