Python

Cara Menggunakan PyQt QTimer

Cara Menggunakan PyQt QTimer
Kelas QTimer dari pustaka PyQt memungkinkan pengguna membuat jam digital, penghitung waktu, bilah kemajuan, dan banyak lagi. Kelas ini digunakan untuk membuat pengatur waktu reguler yang mengirimkan sinyal ketika pengatur waktu menyala dan mewarisi dari objek Q kelas. Objek dari QTimer kelas dibuat sebagai anak dari widget. Saat widget dihapus, objek pengatur waktu juga terhapus. Itu QTimer class menyediakan fungsi statis yang disebut tembakan tunggal() yang dapat digunakan untuk memanggil fungsi setelah periode tertentu. Tutorial ini menunjukkan cara menggunakan QTimer kelas untuk membuat aplikasi PyQt terkait waktu.

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 diperlukan
sistem 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 diperlukan
sistem 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.

Cara mengunduh dan Memainkan Civilization VI Sid Meier di Linux
Pengenalan permainan Civilization 6 adalah konsep modern dari konsep klasik yang diperkenalkan dalam seri game Age of Empires. Idenya cukup sederhana;...
Cara Menginstal dan Memainkan Doom di Linux
Pengantar Doom Seri Doom berasal dari tahun 90-an setelah rilis Doom. Itu adalah hit instan dan sejak saat itu seri game telah menerima banyak penghar...
Vulkan untuk Pengguna Linux
Dengan setiap generasi baru kartu grafis, kami melihat pengembang game mendorong batas kesetiaan grafis dan selangkah lebih dekat ke fotorealisme. Tet...