Piton

A PyQt QTimer használata

A PyQt QTimer használata
A PyQt könyvtár QTimer osztálya lehetővé teszi a felhasználók számára, hogy digitális órát, időszámlálót, előrehaladási sávot és egyebeket hozzanak létre. Ezt az osztályt használják egy szokásos időzítő létrehozására, amely jelet küld, amikor az időzítő beindul, és örököl a QObject osztály. Az objektum QTimer osztály egy widget gyermekeként jön létre. Amikor a widget törli, az időzítő objektum is törli. A QTimer osztály biztosítja az úgynevezett statikus függvényt egyetlen lövés() amellyel egy adott periódus után meghívható egy függvény. Ez az oktatóanyag bemutatja, hogyan kell használni a QTimer osztály az időhöz kapcsolódó PyQt alkalmazások létrehozásához.

QTimer használat

A következő szakaszok példákat mutatnak be, amelyek bemutatják, hogyan lehet két különböző alkalmazást megvalósítani a QTimer osztály használatával.

1. példa: Stopper létrehozása

Az alábbi parancsfájl a QTimer osztály használatával valósít meg stopper alkalmazást a Pythonban. Ez az alkalmazás megszámolja a másodpercek számát és a percek számát. Két gomb használható a számláló elindításához, leállításához, folytatásához és alaphelyzetbe állításához. Amikor a felhasználó rákattint a Rajt gombra, a számláló elkezd számolni, és a Rajt gombra változik Álljon meg. Amikor a felhasználó rákattint a Rajt gomb a felirattal Álljon meg, a számláló ideiglenesen leáll, és a Rajt gombra változik Önéletrajz hogy folytassa a számlálót a következő alkalommal. Amikor a felhasználó rákattint a Visszaállítás gombra, a számláló összes értéke 0-ra inicializálódik.

# Importálja a szükséges modulokat
import sys
a PyQt5-ből.QtWidgetek importálása *
a PyQt5-ből.QtCore import *
# Definiálja az órát a stopper létrehozásához
osztály StopWatchWindow (QMainWindow):
def __init __ (én):
# Hívja a szülő konstruktort
szuper().__benne__()
# Állítsa be az ablak címét
maga.setWindowTitle ("Stopper a QTimer használatával")
# Állítsa be az ablak geometriáját
maga.setGeometry (100, 100, 300, 200)
# Állítsa be a szükséges változókat
maga.számláló = 0
maga.perc = '00'
maga.másodperc = '00'
maga.count = '00'
maga.startWatch = Hamis
# Hozzon létre címkét az óra megjelenítéséhez
maga.label = QLabel (self)
# Állítsa be a címke geometriáját
maga.címke.setGeometry (100, 40, 150, 70)
# Start gomb létrehozása
maga.start = QPushButton ("Start", önálló)
# Állítsa a geometriát a start gombra
maga.Rajt.setGeometry (50, 120, 100, 40)
# Call start () metódus, amikor a start gombra kattint
maga.Rajt.sajtolt.összekapcsolni (én.Rajt)
# Reset létrehozása gomb
resetWatch = QPushButton ("Reset", önálló)
# Állítsa a geometriát a stop gombra
resetWatch.setGeometry (160, 120, 100, 40)
# Hívás alaphelyzet () módszer, amikor a reset gombra kattint
resetWatch.sajtolt.összekapcsolni (én.Visszaállítás)
# Időzítő objektum létrehozása
időzítő = QTimer (ön)
# Adjon hozzá egy módszert az időzítővel
időzítő.időtúllépés.összekapcsolni (én.showCounter)
# Call start () módszer az időzítő értékének módosításához
időzítő.kezdet (100)
# Mozgassa az ablak helyzetét
maga.lépés (900, 400)
# Jelenítse meg az ablakot
maga.előadás()
# Határozzon meg egy módszert a percek és másodpercek értékének az időzítő értéke alapján történő módosítására
def showCounter (én):
# Ellenőrizze a startWatch változó értékét a Stopper elindításához vagy leállításához
ha önmaga.startWatch:
# Növekményszámláló 1-vel
maga.számláló + = 1
# Számolja meg és állítsa be az időszámláló értékét
cnt = int ((én.számláló / 10 - int (én.számláló / 10)) * 10)
maga.count = '0' + str (cnt)
# Állítsa be a második értéket
ha int (én.számláló / 10) < 10 :
maga.másodperc = '0' + str (int (én.számláló / 10))
más:
maga.másodperc = sztr (int (én.számláló / 10))
# Állítsa be a perc értékét
ha önmaga.számláló / 10 == 60.0:
maga.másodperc == '00'
maga.számláló = 0
min = int (én.perc) + 1
ha min < 10 :
maga.perc = '0' + str (perc)
más:
maga.perc = sztr (perc)
# Egyesítse a pénzverde, a második és a számértékeket
szöveg = én.perc + ':' + én.második + ':' + én.számol
# Jelenítse meg a stopper értékeit a címkén
maga.címke.setText ('

'+ szöveg +'

')
# Definiálja a start gomb kezelésének módját
def Start (én):
# Állítsa be a Start gomb feliratát az előző felirat alapján
ha önmaga.Rajt.text () == 'Stop':
maga.Rajt.setText ('Folytatás')
maga.startWatch = Hamis
más:
# igaz a startWatch
maga.startWatch = Igaz
maga.Rajt.setText ('Stop')
# Definiálja a reset gomb kezelésének módját
def Reset (self):
maga.startWatch = Hamis
# Állítsa vissza az összes számlálóváltozót
maga.számláló = 0
maga.perc = '00'
maga.másodperc = '00'
maga.count = '00'
# Állítsa be a stopper kezdeti értékeit
maga.címke.setText (str (self.számláló))
# Hozzon létre alkalmazásobjektumot, és futtassa az alkalmazást
app = QApplication (sys.argv)
stopWt = StopWatchWindow ()
kb.exec ()

A fenti ablak megjelenik a fenti parancsfájl végrehajtása után.

A stopper akkor működik, ha a felhasználó rákattint a Rajt gomb.

A számláló leállítja a számlálást, miután a felhasználó rákattint a Álljon meg gomb.

2. példa: Hozzon létre egy digitális órát

A következő szkript egy digitális órát valósít meg a Pythonban a QTimer osztály. A szkript a digitális órát címkében jeleníti meg úgy, hogy másodpercenként egyszer elolvassa az aktuális rendszeridőt.

# Importálja a szükséges modulokat
import sys
a PyQt5-ből.A QtWidgets importálja a QApplication, QWidget, QLabel, QVBoxLayout fájlokat
a PyQt5-ből.QtCore importálás QTimer, QTime, Qt
a PyQt5-ből.QtGui import QFont
# Definiálja az osztályt a digitális óra létrehozásához
osztály DigitalClock (QWidget):
def __init __ (én):
szuper().__benne__()
# Hozzon létre egy betűtípust betűkészlettel és igazítással
maga.lblTimer = QLabel ()
font = QFont ('Times', 50)
maga.lblTimer.setFont (font)
maga.lblTimer.setAlignment (Qt.AlignCenter)
# Hozza létre a vartical layout objektumot
v_layout = QVBoxLayout ()
v_layout.addWidget (self.lblTimer)
maga.setLayout (v_layout)
# Hozzon létre egy időzítő objektumot, és hívja meg a szükséges módszereket az óra megjelenítéséhez
időzítő = QTimer (ön)
időzítő.időtúllépés.összekapcsolni (én.showClock)
időzítő.kezdet (1000)
# Állítsa be az ablak címét
maga.setWindowTitle ("Digitális óra QTimer használatával")
# Átméretezze az ablakot
maga.átméretezés (270, 120)
# Mozgassa az ablak helyzetét
maga.mozgás (800, 400)
# Hívási módszer az idő megjelenítéséhez
maga.showClock ()
# Jelenítse meg az ablakot
maga.előadás()
def showClock (self):
# Olvassa el az aktuális időt
Current_Time = QTime.aktuális idő()
# A digitális óra megjelenítése
maga.lblTimer.setText ('

'+ Jelenlegi idő.toString ('óó: mm: ss AP') + '

')
# Hozzon létre alkalmazásobjektumot, és futtassa az alkalmazást
app = QApplication (sys.argv)
win = DigitalClock ()
kb.exec ()

A fenti kimeneti ablak a fenti parancsfájl végrehajtása után jelenik meg.

Következtetés

Az aktuális rendszeridő dátum- és időértéke különféle módon olvasható a PyQt könyvtár QTimer osztályával. A QTimer osztályt használták ebben az oktatóanyagban az időhöz kapcsolódó különféle példafájlok végrehajtására.

Az egérkattintások emulálása az egérrel a Clickless Mouse használatával a Windows 10 rendszerben
Ha az egeret vagy a billentyűzetet nem megfelelő testtartásban, túlzott használat mellett használhatja, számos egészségügyi problémát okozhat, beleért...
Ezekkel az ingyenes eszközökkel adja hozzá az egérmozdulatokat a Windows 10 rendszerhez
Az elmúlt években a számítógépek és az operációs rendszerek nagymértékben fejlődtek. Volt idő, amikor a felhasználóknak parancsokkal kellett navigálni...
Az egér mozgásának vezérlése és kezelése több monitor között a Windows 10 rendszerben
Dual Display Mouse Manager lehetővé teszi az egér mozgásának vezérlését és konfigurálását több monitor között, lassítva annak mozgását a határ közeléb...