Penggunaan QTimer
Bagian berikut memberikan contoh yang menggambarkan cara mengimplementasikan dua aplikasi berbeda menggunakan kelas QTimer.
Contoh 1: Buat Stopwatch
Skrip berikut akan mengimplementasikan aplikasi stopwatch dengan Python menggunakan kelas QTimer:. Aplikasi ini akan menghitung jumlah detik dan jumlah menit. Dua tombol digunakan untuk memulai, menghentikan, melanjutkan, dan mengatur ulang penghitung. Ketika pengguna mengklik Mulailah tombol, penghitung akan mulai menghitung, dan keterangan dari Mulailah tombol akan diubah menjadi Berhenti. Ketika pengguna mengklik Mulailah tombol dengan teks Berhenti, penghitung akan berhenti sementara, dan keterangan dari Mulailah tombol akan diubah menjadi Lanjut untuk melanjutkan penghitung ke waktu berikutnya. Ketika pengguna mengklik Setel ulang tombol, semua nilai penghitung akan diinisialisasi ke 0.
# Impor modul yang diperlukansistem impor
dari PyQt5.Impor QtWidget *
dari PyQt5.Impor QtCore *
# Tentukan kelas untuk membuat stop watch
kelas StopWatchWindow(QMainWindow):
def __init__(sendiri):
# Panggil konstruktor induk
super().__init__()
# Atur judul jendela
diri.setWindowTitle("Hentikan Tontonan menggunakan QTimer")
# Atur geometri untuk jendela
diri.setGeometry(100, 100, 300, 200)
# Atur variabel yang diperlukan
diri.penghitung = 0
diri.menit = '00'
diri.detik = '00'
diri.hitung = '00'
diri.startWatch = Salah
# Buat label untuk menampilkan jam tangan
diri.label = QLabel(diri sendiri)
# Atur geometri untuk label
diri.label.setGeometry(100, 40, 150, 70)
# Buat tombol mulai
diri.mulai = QPushButton("Mulai", sendiri)
# Atur geometri ke tombol mulai
diri.Mulailah.setGeometry(50, 120, 100, 40)
# Panggil metode start() saat tombol start diklik
diri.Mulailah.ditekan.menghubungkan (diri sendiri).Mulailah)
# Buat tombol reset
resetWatch = QPushButton("Reset", sendiri)
# Atur geometri ke tombol berhenti stop
resetTonton.setGeometry(160, 120, 100, 40)
# Panggil metode reset() saat tombol reset diklik
resetTonton.ditekan.menghubungkan (diri sendiri).Setel ulang)
# Buat objek pengatur waktu
pengatur waktu = QTimer(sendiri)
# Tambahkan metode dengan penghitung waktu
pengatur waktu.waktu habis.menghubungkan (diri sendiri).showCounter)
# Panggil metode start() untuk mengubah nilai timer
pengatur waktu.mulai(100)
# Pindahkan posisi jendela
diri.bergerak (900, 400)
# Tampilkan jendela
diri.menunjukkan()
# Tentukan metode untuk mengubah nilai menit dan detik berdasarkan nilai pengatur waktu
def showCounter(sendiri):
# Periksa nilai variabel startWatch untuk memulai atau menghentikan Stop Watch
jika diri sendiri.mulaiTonton:
# Penghitung kenaikan sebesar 1
diri.penghitung += 1
# Hitung dan atur nilai penghitung waktu
cnt = int((sendiri.penghitung/10 - int(sendiri.penghitung/10))*10)
diri.jumlah = '0' + str(cnt)
# Tetapkan nilai kedua
jika int(diri sendiri.penghitung/10) < 10 :
diri.detik = '0' + str(int(self.konter / 10))
lain:
diri.detik = str(int(sendiri.konter / 10))
# Tetapkan nilai menit
jika diri sendiri.penghitung / 10 == 60.0 :
diri.detik == '00'
diri.penghitung = 0
min = int(diri sendiri.menit) + 1
jika min < 10 :
diri.menit = '0' + str(mnt)
lain:
diri.menit = str(mnt)
# Gabungkan nilai mintue, detik, dan hitung
teks = diri sendiri.menit + ':' + diri.kedua + ':' + diri.menghitung
# Tampilkan nilai stopwatch di label
diri.label.setTeks('
' + teks + '
')# Tentukan metode untuk menangani tombol mulai
def Mulai (sendiri):
# Atur keterangan tombol mulai berdasarkan keterangan sebelumnya
jika diri sendiri.Mulailah.teks() == 'Berhenti':
diri.Mulailah.setText('Lanjutkan')
diri.startWatch = Salah
lain:
# membuat startWatch menjadi true
diri.startWatch = Benar
diri.Mulailah.setText('Berhenti')
# Tentukan metode untuk menangani tombol reset
def Setel ulang (sendiri):
diri.startWatch = Salah
# Setel ulang semua variabel penghitung
diri.penghitung = 0
diri.menit = '00'
diri.detik = '00'
diri.hitung = '00'
# Atur nilai awal untuk stop watch
diri.label.setTeks(str(diri sendiri.melawan))
# Buat objek aplikasi dan jalankan aplikasi
aplikasi = QAplikasi(sys.argv)
stopWt = StopWatchWindow()
aplikasi.eksekutif()
Jendela berikut akan muncul setelah skrip di atas dijalankan.
Stopwatch akan mulai bekerja setelah pengguna mengklik Mulailah tombol.
Penghitung akan berhenti menghitung setelah pengguna mengklik Berhenti tombol.
Contoh 2: Buat Jam Digital
Skrip berikut akan mengimplementasikan jam digital dengan Python menggunakan QTimer kelas. Script akan menampilkan jam digital dalam label dengan membaca waktu sistem saat ini setiap detik.
# Impor modul yang diperlukansistem impor
dari PyQt5.QtWidgets mengimpor QApplication, QWidget, QLabel, QVBoxLayout
dari PyQt5.QtCore mengimpor QTimer, QTime, Qt
dari PyQt5.QtGui mengimpor QFont
# Tentukan kelas untuk membuat jam digital
kelas DigitalClock (QWidget):
def __init__(sendiri):
super().__init__()
# Buat label dengan font dan perataan
diri.lblTimer = QLabel()
font = QFont('Kali', 50)
diri.lbLTimer.setFont(font)
diri.lbLTimer.setAlignment(Qt.SejajarkanPusat)
# Buat objek tata letak vartical
v_layout = QVBoxLayout()
v_layout.tambahkan Widget (diri sendiri).lb Timer)
diri.setLayout(v_layout)
# Buat objek pengatur waktu dan panggil metode yang diperlukan untuk menampilkan jam
pengatur waktu = QTimer(sendiri)
pengatur waktu.waktu habis.menghubungkan (diri sendiri).tampilkan Jam)
pengatur waktu.mulai(1000)
# Atur judul jendela
diri.setWindowTitle("Jam Digital menggunakan QTimer")
# Ubah ukuran jendela
diri.mengubah ukuran (270, 120)
# Pindahkan posisi jendela
diri.pindah (800, 400)
# Metode panggilan untuk menampilkan waktu
diri.tampilkanJam()
# Tampilkan jendela
diri.menunjukkan()
def showClock(self):
# Baca waktu saat ini
Current_Time = QTime.waktu saat ini()
# Tampilkan jam digital
diri.lbLTimer.setTeks('
' + Saat_Waktu.toString('hh:mm:ss AP') + '
')# Buat objek aplikasi dan jalankan aplikasi
aplikasi = QAplikasi(sys.argv)
menang = DigitalClock()
aplikasi.eksekutif()
Jendela output berikut akan muncul setelah skrip di atas dijalankan:.
Kesimpulan
Nilai tanggal dan waktu dari waktu sistem saat ini dapat dibaca dengan berbagai cara menggunakan kelas QTimer dari pustaka PyQt. Kelas QTimer digunakan dalam tutorial ini untuk menjalankan berbagai contoh skrip terkait waktu.