Python

Cara Menggunakan Kotak Centang PyQt?

Cara Menggunakan Kotak Centang PyQt?

Kotak centang digunakan untuk memilih nol atau lebih opsi dari banyak opsi menggunakan antarmuka pengguna grafis. Formulir dengan kotak centang dapat dibuat dengan menggunakan QCheckBox kelas dalam skrip Python atau menggunakan QCheckBox widget dari Desainer Qt tanpa menulis naskah apapun.

Saat formulir dengan kotak centang dibuat menggunakan QCheckBox kelas, maka statusBerubah.Menghubung() fungsi dipanggil untuk menerapkan tindakan yang dilakukan oleh input pengguna. Jika pengguna mencentang opsi kotak centang apa pun, maka nilai QtCore.Qt.diperiksa akan benar. Beberapa kotak centang dengan satu pilihan seperti Tombol Radio dapat dibuat menggunakan QbuttonGroup kelas.

Bagaimana formulir dengan kotak centang dapat dibuat dengan menulis skrip Python ditunjukkan dalam tutorial ini.

Metode QCheckBox yang diperlukan

QCheckBox kelas memiliki banyak fungsi untuk melakukan berbagai jenis tugas dengan kotak centang. Beberapa metode yang paling umum digunakan dari kelas ini dijelaskan di bawah ini:

Nama Metode Tujuan
diperiksa() Ini mengembalikan nilai boolean. Ketika pengguna mengklik untuk mencentang kotak, ia mengembalikan True, jika tidak, ia mengembalikan False.
setDiperiksa() Ini digunakan untuk mengubah status kotak centang. Nilai benar diatur untuk membuat kotak centang dicentang, dan nilai Salah diatur untuk membuat kotak centang tidak dicentang.
teks() Ini digunakan untuk membaca label kotak centang.
setTeks() Ini digunakan untuk mengatur label kotak centang.
isTriState() Ini mengembalikan nilai boolean. Ini digunakan untuk memeriksa tri-state untuk mengetahui apakah kotak centang diaktifkan atau tidak.
setTriState() Ini digunakan untuk mengaktifkan status ketiga dari kotak centang yang menunjukkan status netral.

Buat Formulir dengan Kotak Centang menggunakan Kelas QCheckBox:

Penggunaan kotak centang ditampilkan di bagian ini menggunakan berbagai jenis contoh. Penggunaan kotak centang tunggal, seperti yang ditunjukkan pada contoh pertama, dan penggunaan beberapa kotak centang ditunjukkan pada contoh kedua.

Contoh 1: Membuat Kotak Centang Tunggal

Cara membuat satu kotak centang menggunakan QCheckBox kelas dan membaca nilai input dari kotak centang yang disediakan oleh pengguna ditunjukkan dalam contoh ini. Modul yang diperlukan diimpor di awal skrip. Label digunakan dalam kotak centang di atas untuk memberikan informasi bagi pengguna. Jika pengguna mengklik kotak centang untuk mencentang, maka skrip akan mencetak, “Wow! Anda suka pemrograman”, jika tidak, skrip akan mencetak, “Oh tidak!, Anda tidak suka pemrograman”.

# Impor modul yang diperlukan
sistem impor
dari PyQt5 impor QtCore, QtWidgets
dari PyQt5.QtWidgets mengimpor QMainWindow, QCheckBox, QLabel, QVBoxLayout, QDesktopWidget
# Tentukan kelas untuk membuat formulir dengan kotak centang tunggal
kelas SingleCheckbox (QMainWindow):
def __init__(sendiri):
super().__init__()
# Buat teks label untuk pengguna
lb = QLabel("Apakah Anda menyukai pemrograman??", diri sendiri)
lb.setGeometri(20, 20, 200, 20)
lb.pindah (20, 20)
# Buat kotak centang dengan label
cb = QCheckBox('Ya', sendiri)
cb.statusBerubah.menghubungkan (diri sendiri).Cek jawaban)
cb.pindah (20, 50)
# Atur Tata Letak Qt vertikal
vbox = QVBoxLayout()
kotak v.tambahkanWidget(lb)
kotak v.tambahkan Widget(cb)
# Atur judul dan ukuran jendela
diri.setWindowTitle('Formulir dengan Kotak Centang Tunggal')
diri.setGeometry(60, 60, 300, 100)
# Tampilkan jendela di tengah layar
menang = diri sendiri.bingkaiGeometri()
pos = QDesktopWidget().tersediaGeometri().pusat()
menang.pindahPusat(pos)
diri.bergerak (menang.kiri atas())
diri.menunjukkan()
# Tentukan fungsi untuk memeriksa input pengguna
def Check_Answer(self, state):
jika status == QtCore.Qt.Diperiksa:
print("Wah! Anda suka pemrograman.")
lain:
print("Oh tidak!, Anda tidak suka pemrograman.")
# Buat objek aplikasi dan jalankan aplikasi
aplikasi = QtWidget.QAplikasi (sistem.argv)
bentuk = SingleCheckbox()
aplikasi.eksekutif()

Jendela berikut dengan kotak centang akan muncul setelah menjalankan skrip.


Pada output berikut, pengguna telah mencentang kotak centang dua kali dan menghapus centang pada kotak centang sekali.

Contoh 2: Membuat Beberapa Kotak Centang

Metode membuat beberapa kotak centang menggunakan QKotak centang kelas dan membaca beberapa nilai dari beberapa kotak centang ditampilkan dalam contoh ini. Dua label dan tiga kotak centang ditambahkan ke jendela. Label pertama ditambahkan di awal kotak centang untuk memberikan informasi bagi pengguna, sedangkan label kedua ditambahkan di akhir kotak centang untuk menampilkan nilai kotak centang atau kotak centang yang dipilih.

# Impor modul yang diperlukan
sistem impor
dari PyQt5.Impor QtWidgets (QWidget, QCheckBox, QApplication, QVBoxLayout, QLabel, QDesktopWidget)
# Tentukan kelas untuk membuat formulir dengan beberapa kotak centang
kelas MultipleCheckbox (QWidget):
def __init__(sendiri):
super().__init__()
# Atur teks label untuk pengguna
lb = QLabel("Pilih makanan favoritmu:", self)
lb.setGeometry(20, 20, 100, 20)
lb.pindah (20, 20)
# Buat tiga kotak centang
cb1 = QCheckBox('Kue Coklat', sendiri)
cb1.pindah (20, 70)
cb1.statusBerubah.hubungkan (lambda: diri sendiri.Selected_Value(cb1))
cb2 = QCheckBox('Es-Krim', mandiri)
cb2.pindah (20, 90)
cb2.statusBerubah.hubungkan (lambda: diri sendiri.Selected_Value(cb2))
cb3 = QCheckBox('Pasta', mandiri)
cb3.pindah (20, 110)
cb3.statusBerubah.hubungkan (lambda: diri sendiri.Selected_Value(cb3))
diri.label = QLabel('Tidak Ada yang Dipilih')
diri.label.pindah (20, 150)
# Atur Tata Letak Qt vertikal
vbox = QVBoxLayout()
kotak v.tambahkan Widget(lb)
kotak v.tambahkan Widget(cb1)
kotak v.tambahkan Widget(cb2)
kotak v.tambahkan Widget(cb3)
kotak v.tambahkan Widget (diri sendiri).label)
diri.setTata letak (vbox)
diri.setWindowTitle('Formulir dengan Beberapa Kotak Centang')
diri.setGeometry(60, 60, 350, 200)
diri.lblTeks = "
# Tampilkan jendela di tengah layar
menang = diri sendiri.bingkaiGeometri()
pos = QDesktopWidget().tersediaGeometri().pusat()
menang.pindahPusat(pos)
diri.bergerak (menang.kiri atas())
diri.menunjukkan()
# Tentukan fungsi untuk membaca input pengguna
def Selected_Value(sendiri, btn):
jika diri sendiri.lblTeks != ":
str = diri sendiri.lblTeks
strArray = str.berpisah(' ,')
diri.lblTeks = "
untuk val di strArray:
jika btn.teks() != nilai:
jika diri sendiri.lblTeks == ":
diri.lblTeks = val
lain:
diri.lblTeks += ' ,' + nilai
jika btn.isChecked() == Benar:
jika diri sendiri.lblTeks == ":
diri.lblTeks = btn.teks()
lain:
diri.lblTeks += ' ,' + btn.teks()
lain:
jika btn.isChecked() == Benar:
jika diri sendiri.lblText == ":
diri.lblTeks = btn.teks()
lain:
diri.lblTeks += ' ,' + btn.teks()
diri.label.setText('Anda telah memilih \n' + self.lblTeks)
# Buat objek aplikasi dan jalankan aplikasi
aplikasi = QAplikasi(sys.argv)
ex = MultipleCheckbox()
sistem.keluar (aplikasi.eksekutif_())

Jendela berikut akan muncul setelah menjalankan skrip. Nilai default dari label kedua adalah “Tidak ada yang dipilih” dan nilai label akan berubah ketika ada kotak centang yang dicentang atau tidak dicentang oleh pengguna.


Pada output berikut, dua kotak centang dicentang oleh pengguna, dan nilai label kedua diubah menjadi “Cokelat, Pasta”.

Kesimpulan

Cara mendefinisikan satu atau beberapa kotak centang dan membaca nilai kotak centang yang dipilih telah dijelaskan dalam tutorial ini menggunakan dua contoh sederhana. Grup kotak centang dapat ditentukan untuk memilih kotak centang tertentu dari grup yang tidak ditampilkan di sini.

Trackpad dan Mouse Pointer di Layar AppyMouse untuk Tablet Windows
Pengguna tablet sering melewatkan penunjuk mouse, terutama ketika mereka terbiasa menggunakan laptop. Layar sentuh Smartphone dan tablet hadir dengan ...
Tombol tengah mouse tidak berfungsi di Windows 10
Itu tombol tengah mouse membantu Anda menelusuri halaman web dan layar yang panjang dengan banyak data. Jika itu berhenti, Anda akhirnya akan mengguna...
Cara Mengganti Tombol Kiri & Kanan Mouse di PC Windows 10
Sudah menjadi hal biasa bahwa semua perangkat mouse komputer dirancang secara ergonomis untuk pengguna yang tidak kidal. Tetapi ada perangkat mouse ya...