Python

Kuidas kasutada PyQt QTimerit

Kuidas kasutada PyQt QTimerit
PyQt teegi QTimeri klass võimaldab kasutajatel luua digitaalse kella, ajaloenduri, edenemisriba ja palju muud. Seda klassi kasutatakse tavalise taimeri loomiseks, mis saadab signaali, kui taimer käivitub, ja see pärineb QObject klass. Objekt QTimer klass luuakse vidina lapsena. Kui vidin kustutab, kustutab ka taimerobjekt. The QTimer klass annab staatilise funktsiooni, mida nimetatakse singleShot () mida saab kasutada funktsiooni kutsumiseks pärast kindlat perioodi. See õpetus näitab, kuidas QTimer klassis ajaga seotud PyQt-rakenduste loomiseks.

QTimeri kasutamine

Järgmistes jaotistes on näited, mis illustreerivad kahe erineva rakenduse rakendamist QTimer-klassi abil.

Näide 1: Stopperi loomine

Järgmine skript rakendab QTimeri klassi abil Pythonis stopperirakenduse. See rakendus loeb sekundite ja minutite arvu. Loenduri käivitamiseks, peatamiseks, jätkamiseks ja lähtestamiseks kasutatakse kahte nuppu. Kui kasutaja klõpsab nuppu Alusta nuppu, loendurit hakatakse loendama ja pealdist Alusta nuppu muudetakse Lõpeta. Kui kasutaja klõpsab nuppu Alusta nupp pealdisega Lõpeta, loendur peatub ajutiselt ja allkiri Alusta nuppu muudetakse Jätka loenduri jätkamiseks järgmisele korrale. Kui kasutaja klõpsab nuppu Lähtesta nupp, lähtestatakse loenduri kõik väärtused väärtusele 0.

# Impordi vajalikud moodulid
impordi süsteem
alates PyQt5.QtWidgetide import *
alates PyQt5.QtCore'i import *
# Määrake klass stopperi loomiseks
klass StopWatchWindow (QMainWindow):
def __init __ (ise):
# Helistage vanemkonstruktorile
Super().__selles__()
# Määrake akna pealkiri
ise.setWindowTitle ("Stopper QTimeri abil")
# Määrake akna geomeetria
ise.setGeometry (100, 100, 300, 200)
# Määrake vajalikud muutujad
ise.loendur = 0
ise.minut = '00'
ise.teine ​​= '00'
ise.arv = '00'
ise.startWatch = Vale
# Kella kuvamiseks looge silt
ise.silt = QLabel (ise)
# Määrake sildi geomeetria
ise.silt.setGeometry (100, 40, 150, 70)
# Loo algusnupp
ise.start = QPushButton ("Start", ise)
# Määra geomeetria nupule Start
ise.algus.setGeometry (50, 120, 100, 40)
# Kõne alguse () meetod, kui klõpsatakse nuppu Start
ise.algus.pressitud.ühendama (ise.Start)
# Loo lähtestamise nupp
resetWatch = QPushButton ("Lähtesta", ise)
# Määra geomeetria stopp-nupule
resetWatch.setGeometry (160, 120, 100, 40)
# Kõne lähtestamise () meetod, kui klõpsatakse lähtestusnuppu
resetWatch.pressitud.ühendama (ise.Lähtesta)
# Loo taimerobjekt
taimer = QTimer (ise)
# Lisage taimeriga meetod
taimer.aeg maha.ühendama (ise.showCounter)
# Taimeriväärtuse muutmiseks kõne alguse () meetod
taimer.algus (100)
# Liigutage akna asukohta
ise.liikuma (900, 400)
# Kuva aken
ise.näita ()
# Määratlege meetod minutite ja sekundite väärtuste muutmiseks taimeri väärtuse põhjal
def showCounter (ise):
# Stop Watchi käivitamiseks või peatamiseks kontrollige muutuja StartWatch väärtust
kui ise.startWatch:
# Kasvuloendur 1 võrra
ise.loendur + = 1
# Loendage ja määrake ajaloenduri väärtus
cnt = int ((ise.loendur / 10 - int (ise.loendur / 10)) * 10)
ise.count = '0' + str (cnt)
# Määrake teine ​​väärtus
kui int (ise.loendur / 10) < 10 :
ise.sekund = '0' + str (int (ise.loendur / 10))
muu:
ise.teine ​​= str (int (ise.loendur / 10))
# Määrake minutiväärtus
kui ise.loendur / 10 == 60.0:
ise.teine ​​== '00'
ise.loendur = 0
min = int (ise.minut) + 1
kui min < 10 :
ise.minut = '0' + str (min)
muu:
ise.minut = str (min)
# Ühendage mintue, second ja count väärtused
tekst = ise.minut + ':' + ise.teine ​​+ ':' + ise.loendama
# Kuvage stopperi väärtused sildil
ise.silt.setText ('

'+ tekst +'

')
# Määrake meetod nupu Start käsitsemiseks
def Start (ise):
# Määrake algusnupu pealkiri eelmise pealdise põhjal
kui ise.algus.text () == 'Peata':
ise.algus.setText ('Jätka')
ise.startWatch = Vale
muu:
# startWatchi õigeks muutmine
ise.startWatch = Tõsi
ise.algus.setText ('Stopp')
# Määrake lähtestusnupu käsitsemise meetod
def Lähtesta (ise):
ise.startWatch = Vale
# Lähtestage kõik loendurid
ise.loendur = 0
ise.minut = '00'
ise.teine ​​= '00'
ise.arv = '00'
# Määrake stopperi algväärtused
ise.silt.setText (str (ise.loendur))
# Loo rakenduse objekt ja käivitage rakendus
app = QApplication (sys.argv)
stopWt = StopWatchWindow ()
rakendus.exec ()

Pärast ülaltoodud skripti käivitamist ilmub järgmine aken.

Stopper hakkab tööle pärast seda, kui kasutaja klõpsab nuppu Alusta nuppu.

Loendur lõpetab loendamise, kui kasutaja klõpsab nuppu Lõpeta nuppu.

Näide 2: looge digitaalne kell

Järgmine skript rakendab Pythonis digitaalkella, kasutades QTimer klass. Skript kuvab digitaalse kella sildil, lugedes praegust süsteemi aega üks kord sekundis.

# Impordi vajalikud moodulid
impordi süsteem
alates PyQt5.QtWidgetid impordivad QApplicationit, QWidgetit, QLabel'i, QVBoxLayouti
alates PyQt5.QtCore'i import QTimer, QTime, Qt
alates PyQt5.QtGui import QFont
# Määrake klass digitaalse kella loomiseks
klassi DigitalClock (QWidget):
def __init __ (ise):
Super().__selles__()
# Looge fondi ja joondusega silt
ise.lblTimer = QLabel ()
font = QFont ('Times', 50)
ise.lblTimer.setFont (font)
ise.lblTimer.setAlignment (Qt.AlignCenter)
# Looge vartikaalse paigutuse objekt
v_layout = QVBoxLayout ()
v_layout.addWidget (ise.lblTimer)
ise.setLayout (v_layout)
# Looge taimerobjekt ja kutsuge kella kuvamiseks vajalikud meetodid
taimer = QTimer (ise)
taimer.aeg maha.ühendama (ise.showClock)
taimer.algus (1000)
# Määrake akna pealkiri
ise.setWindowTitle ("QTimeeri kasutav digitaalkell")
# Akna suuruse muutmine
ise.suuruse muutmine (270, 120)
# Liigutage akna asukohta
ise.liikuma (800, 400)
# Kellaaja kuvamiseks helistamismeetod
ise.showClock ()
# Kuva aken
ise.näita ()
def showClock (ise):
# Lugege praegust kellaaega
Current_Time = QTime.currentTime ()
# Kuva digitaalkell
ise.lblTimer.setText ('

'+ Praegune_Time.toString ('hh: mm: ss AP') + '

')
# Loo rakenduse objekt ja käivitage rakendus
app = QApplication (sys.argv)
win = DigitalClock ()
rakendus.exec ()

Pärast ülaltoodud skripti käivitamist ilmub järgmine väljundaken.

Järeldus

Praeguse süsteemiaja kuupäeva ja kellaaja väärtust saab PyQti teegi klassi QTimer abil mitmel viisil lugeda. QTimeri klassi kasutati selles õpetuses erinevate ajaga seotud skriptide käivitamiseks.

Hiire keskmine nupp ei tööta Windows 10-s
The hiire keskmine nupp aitab teil sirvida pikki rohke andmega veebisaite ja ekraane. Kui see peatub, siis lõpuks kasutate kerimiseks klaviatuuri, mis...
Kuidas muuta hiire vasakut ja paremat nuppu Windows 10 PC-s
On üsna tavaline, et kõik arvutihiirte seadmed on ergonoomiliselt mõeldud parempoolsete kasutajate jaoks. Kuid on olemas hiire seadmeid, mis on spetsi...
Jäljendage hiireklikke, hõljutades hiirega klõpsutut hiirt Windows 10-s
Hiire või klaviatuuri kasutamine liigses kasutamises vales asendis võib põhjustada palju terviseprobleeme, sealhulgas tüve, karpaalkanali sündroom ja ...