Python

Ako používať PyQt QTimer

Ako používať PyQt QTimer
Trieda QTimer knižnice PyQt umožňuje používateľom vytvárať digitálne hodiny, počítadlo času, ukazovateľ priebehu a ďalšie. Táto trieda sa používa na vytvorenie bežného časovača, ktorý pri spustení časovača vyšle signál a dedí z QObject trieda. Objekt QTimer trieda je vytvorená ako dieťa widgetu. Keď sa miniaplikácia vymaže, vymaže sa aj objekt časovača. The QTimer trieda poskytuje statickú funkciu s názvom Jeden výstrel() pomocou ktorého je možné volať funkciu po určitej dobe. Tento tutoriál vám ukáže, ako používať QTimer triedy na vytvorenie časovo súvisiacich aplikácií PyQt.

Používanie QTimer

Nasledujúce časti poskytujú príklady, ktoré ilustrujú, ako implementovať dve rôzne aplikácie pomocou triedy QTimer.

Príklad 1: Vytvorenie stopiek

Nasledujúci skript implementuje aplikáciu stopiek v Pythone pomocou triedy QTimer. Táto aplikácia bude počítať počet sekúnd a počet minút. Na spustenie, zastavenie, obnovenie a vynulovanie počítadla sa používajú dve tlačidlá. Keď používateľ klikne na ikonu Štart gombík, počítadlo začne počítať a titulok súboru Štart tlačidlo sa zmení na Prestaň. Keď používateľ klikne na ikonu Štart tlačidlo s popisom Prestaň, počítadlo sa dočasne zastaví a titulok Štart tlačidlo sa zmení na Pokračovať pokračovať v počítadle nabudúce. Keď používateľ klikne na ikonu Resetovať tlačidlo, všetky hodnoty počítadla sa inicializujú na 0.

# Importujte potrebné moduly
import sys
z PyQt5.Import QtWidgets *
z PyQt5.Import QtCore *
# Definujte triedu na vytvorenie stopiek
trieda StopWatchWindow (QMainWindow):
def __init __ (self):
# Zavolajte nadradenému konštruktorovi
Super().__init __ ()
# Nastavte názov okna
ja.setWindowTitle ("Zastaviť sledovanie pomocou QTimer")
# Nastavte geometriu okna
ja.setGeometry (100, 100, 300, 200)
# Nastavte potrebné premenné
ja.pult = 0
ja.minúta = '00'
ja.second = '00'
ja.count = '00'
ja.startWatch = False
# Vytvorte štítok na zobrazenie hodiniek
ja.štítok = QLabel (vlastný)
# Nastaviť geometriu štítku
ja.štítok.setGeometry (100, 40, 150, 70)
# Vytvoriť tlačidlo Štart
ja.start = QPushButton ("Štart", sám)
# Nastaviť geometriu na tlačidlo Štart
ja.začať.setGeometry (50, 120, 100, 40)
# Volať metódu start () po kliknutí na tlačidlo Štart
ja.začať.stlačené.spojiť (seba.Štart)
# Vytvoriť resetovacie tlačidlo
resetWatch = QPushButton ("Reset", sám)
# Nastavte geometriu na tlačidlo zastavenia
resetWatch.setGeometry (160, 120, 100, 40)
# Metóda resetovania hovoru () po kliknutí na tlačidlo resetovania
resetWatch.stlačené.spojiť (seba.Resetovať)
# Vytvorte objekt časovača
časovač = QTimer (samostatne)
# Pridajte metódu s časovačom
časovač.čas vypršal.spojiť (seba.showCounter)
# Metóda call start () na úpravu hodnoty časovača
časovač.štart (100)
# Posuňte polohu okna
ja.ťah (900, 400)
# Zobrazte okno
ja.šou()
# Definujte metódu na úpravu hodnôt minút a sekúnd na základe hodnoty časovača
def showCounter (self):
# Skontrolujte hodnotu premennej startWatch, aby ste spustili alebo zastavili Stopky
ak ja.startWatch:
# Počítadlo prírastku o 1
ja.pult + = 1
# Spočítajte a nastavte hodnotu počítadla času
cnt = int ((vlastné.pult / 10 - int (self.počítadlo / 10)) * 10)
ja.count = '0' + str (cnt)
# Nastavte druhú hodnotu
ak int (ja.pult / 10) < 10 :
ja.second = '0' + str (int (vlastné.pult / 10))
inak:
ja.sekunda = str (int (ja.pult / 10))
# Nastavte hodnotu minúty
ak ja.pult / 10 == 60.0:
ja.druhý == '00'
ja.pult = 0
min = int (ja.minúta) + 1
ak min < 10 :
ja.minúta = '0' + str (min)
inak:
ja.minúta = str (min)
# Zlúčte hodnoty mintue, second a count
text = ja.minúta + ':' + ja.second + ':' + self.počítať
# Zobrazte hodnoty stopiek na štítku
ja.štítok.setText ('

„+ text +“

")
# Definujte metódu na spracovanie tlačidla Štart
def Štart (vlastné):
# Nastavte titulok tlačidla Štart na základe predchádzajúceho titulku
ak ja.začať.text () == 'Stop':
ja.začať.setText ('Pokračovať')
ja.startWatch = False
inak:
# making startWatch to true
ja.startWatch = Pravda
ja.začať.setText ('Stop')
# Definujte spôsob, ako zaobchádzať s resetovacím tlačidlom
def Reset (vlastné):
ja.startWatch = False
# Obnoviť všetky premenné počítadla
ja.pult = 0
ja.minúta = '00'
ja.second = '00'
ja.count = '00'
# Nastavte počiatočné hodnoty pre stopky
ja.štítok.setText (str (vlastné.pult))
# Vytvorte objekt aplikácie a spustite ju
app = QApplication (sys.argv)
stopWt = StopWatchWindow ()
aplikácia.exec ()

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúce okno.

Stopky začnú pracovať potom, čo používateľ klikne na ikonu Štart tlačidlo.

Počítadlo prestane počítať, keď používateľ klikne na ikonu Prestaň tlačidlo.

Príklad 2: Vytvorenie digitálnych hodín

Nasledujúci skript implementuje digitálne hodiny v Pythone pomocou QTimer trieda. Skript zobrazí digitálne hodiny na štítku tak, že bude každú sekundu čítať aktuálny systémový čas.

# Importujte potrebné moduly
import sys
z PyQt5.QtWidgets importujú QApplication, QWidget, QLabel, QVBoxLayout
z PyQt5.QtCore import QTimer, QTime, Qt
z PyQt5.QtGui import QFont
# Definujte triedu na vytvorenie digitálnych hodín
trieda DigitalClock (QWidget):
def __init __ (self):
Super().__init __ ()
# Vytvorte štítok s písmom a zarovnaním
ja.lblTimer = QLabel ()
font = QFont ('Times', 50)
ja.lblTimer.setFont (písmo)
ja.lblTimer.setAlignment (Qt.AlignCenter)
# Vytvorte objekt vartálneho usporiadania
v_layout = QVBoxLayout ()
v_layout.addWidget (vlastné.lblTimer)
ja.setLayout (v_layout)
# Vytvorte objekt časovača a zavolajte potrebné metódy na zobrazenie hodín
časovač = QTimer (samostatne)
časovač.čas vypršal.spojiť (seba.showClock)
časovač.štart (1 000)
# Nastavte názov okna
ja.setWindowTitle ("Digitálne hodiny pomocou QTimer")
# Zmeňte veľkosť okna
ja.zmeniť veľkosť (270, 120)
# Posuňte polohu okna
ja.ťah (800, 400)
# Metóda volania na zobrazenie času
ja.showClock ()
# Zobrazte okno
ja.šou()
def showClock (vlastné):
# Prečítajte si aktuálny čas
Current_Time = QTime.aktuálny čas()
# Zobrazte digitálne hodiny
ja.lblTimer.setText ('

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

")
# Vytvorte objekt aplikácie a spustite ju
app = QApplication (sys.argv)
výhra = DigitalClock ()
aplikácia.exec ()

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúce výstupné okno.

Záver

Hodnotu dátumu a času aktuálneho systémového času je možné prečítať rôznymi spôsobmi pomocou triedy QTimer knižnice PyQt. Trieda QTimer bola v tomto výučbe použitá na vykonanie rôznych ukážkových skriptov.

Hry Ako zvýšiť rýchlosť FPS v systéme Linux?
Ako zvýšiť rýchlosť FPS v systéme Linux?
FPS znamená Počet snímok za sekundu. Úlohou FPS je merať snímkovú frekvenciu pri prehrávaní videa alebo herných výkonoch. Jednoducho povedané, počet n...
Hry Najlepšie hry Oculus App Lab
Najlepšie hry Oculus App Lab
Ak ste vlastníkom náhlavnej súpravy Oculus, musíte byť informovaní o bočnom nakladaní. Sideloading je proces inštalácie neuloženého obsahu do náhlavne...
Hry Top 10 hier, ktoré sa dajú hrať na Ubuntu
Top 10 hier, ktoré sa dajú hrať na Ubuntu
Platforma Windows je jednou z dominujúcich platforiem pre hry kvôli obrovskému percentu hier, ktoré sa dnes vyvíjajú na natívnu podporu systému Window...