Python

Cara Menggunakan Kotak Semak PyQt?

Cara Menggunakan Kotak Semak PyQt?

Kotak pilihan digunakan untuk memilih pilihan sifar atau lebih dari banyak pilihan menggunakan antara muka pengguna grafik. Borang dengan kotak centang dapat dibuat dengan menggunakan QCheckBox kelas dalam skrip Python atau menggunakan QCheckBox widget dari Pereka Qt tanpa menulis sebarang skrip.

Apabila borang dengan kotak centang dibuat menggunakan QCheckBox kelas, kemudian negeriTukar.sambung () fungsi dipanggil untuk menerapkan tindakan yang dilakukan oleh input pengguna. Sekiranya pengguna mencentang sebarang pilihan kotak centang, maka nilai dari QtCore.Qt.diperiksa akan benar. Beberapa kotak pilihan dengan satu pilihan seperti Tombol Radio boleh dibuat menggunakan Kumpulan Butang kelas.

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

Kaedah QCheckBox yang diperlukan

QCheckBox kelas mempunyai banyak fungsi untuk melakukan pelbagai jenis tugas dengan kotak pilihan. Beberapa kaedah yang paling biasa digunakan di kelas ini dijelaskan di bawah:

Nama Kaedah Tujuan
diperiksa () Ia mengembalikan nilai boolean. Apabila pengguna mengklik untuk memeriksa kotak centang, ia mengembalikan Benar, jika tidak, ia mengembalikan Palsu.
setChecked () Ia digunakan untuk mengubah keadaan kotak pilihan. Nilai benar ditetapkan untuk membuat kotak centang dicentang, dan Nilai palsu ditetapkan untuk membuat kotak centang tidak dicentang.
teks () Ia digunakan untuk membaca label kotak pilihan.
setTeks () Ia digunakan untuk menetapkan label kotak centang.
isTriState () Ia mengembalikan nilai boolean. Ia digunakan untuk memeriksa keadaan tiga untuk mengetahui sama ada kotak centang diaktifkan atau tidak.
setTriState () Ia digunakan untuk mengaktifkan keadaan ketiga kotak pilihan yang menunjukkan keadaan neutral.

Buat Borang dengan Kotak Centang menggunakan Kelas QCheckBox:

Penggunaan kotak centang ditunjukkan dalam bahagian ini dengan menggunakan pelbagai 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 kotak pilihan yang disediakan oleh pengguna ditunjukkan dalam contoh ini. Modul yang diperlukan diimport pada awal skrip. Label digunakan di kotak pilihan di atas untuk memberikan maklumat untuk pengguna. Sekiranya pengguna mengklik kotak centang untuk memeriksa, maka skrip akan dicetak, β€œWah! Anda suka pengaturcaraan", Jika tidak, skrip akan dicetak,"Oh tidak!, Anda tidak suka pengaturcaraan".

# Import modul yang diperlukan
import sys
dari PyQt5 import QtCore, QtWidgets
dari PyQt5.QtWidgets mengimport QMainWindow, QCheckBox, QLabel, QVBoxLayout, QDesktopWidget
# Tentukan kelas untuk membuat borang dengan kotak pilihan tunggal
kelas SingleCheckbox (QMainWindow):
def __init __ (diri):
super ().__di dalamnya__()
# Buat teks label untuk pengguna
lb = QLabel ("Adakah anda suka pengaturcaraan??", diri)
lb.setGeometri (20, 20, 200, 20)
lb.bergerak (20, 20)
# Buat kotak pilihan dengan label
cb = QCheckBox ('Ya', diri)
cb.negeriTukar.menyambung (diri.Semak_Jawapan)
cb.bergerak (20, 50)
# Tetapkan Tata Letak Qt menegak
vbox = QVBoxLayout ()
vbox.tambahWidget (lb)
vbox.tambahWidget (cb)
# Tetapkan tajuk dan ukuran tetingkap
diri.setWindowTitle ('Borang dengan Kotak Centang Tunggal')
diri.setGeometri (60, 60, 300, 100)
# Paparkan tetingkap di tengah-tengah skrin
menang = diri.bingkaiGeometri ()
pos = QDesktopWidget ().tersedia Geometri ().tengah ()
menang.moveCenter (pos)
diri.bergerak (menang.atas Kiri ())
diri.tunjuk ()
# Tentukan fungsi untuk memeriksa input pengguna
def Check_Answer (diri, negeri):
jika nyatakan == QtCore.Qt.Diperiksa:
cetak ("Wow! Anda suka pengaturcaraan.")
lain:
cetak ("Oh tidak!, Anda tidak suka pengaturcaraan.")
# Buat objek aplikasi dan jalankan aplikasi
aplikasi = QtWidgets.QApplication (sys.berhujah)
form = SingleCheckbox ()
aplikasi.exec ()

Tetingkap berikut dengan kotak centang akan muncul setelah menjalankan skrip.


Dalam keluaran berikut, pengguna telah mencentang kotak dua kali dan mencentang kotak centang sekali.

Contoh 2: Membuat Kotak Pelbagai

Kaedah membuat pelbagai kotak pilihan menggunakan QCheckbox kelas dan membaca beberapa nilai kotak pilihan ditunjukkan dalam contoh ini. Dua label dan tiga kotak pilihan ditambahkan ke tetingkap. Label pertama ditambahkan pada awal kotak centang untuk memberikan maklumat kepada pengguna, sementara label kedua ditambahkan di akhir kotak centang untuk menampilkan nilai kotak centang atau kotak centang yang dipilih.

# Import modul yang diperlukan
import sys
dari PyQt5.Import QtWidgets (QWidget, QCheckBox, QApplication, QVBoxLayout, QLabel, QDesktopWidget)
# Tentukan kelas untuk membuat borang dengan pelbagai kotak pilihan
kelas MultipleCheckbox (QWidget):
def __init __ (diri):
super ().__di dalamnya__()
# Tetapkan teks label untuk pengguna
lb = QLabel ("Pilih makanan kegemaran anda:", diri)
lb.setGeometri (20, 20, 100, 20)
lb.bergerak (20, 20)
# Buat tiga kotak pilihan
cb1 = QCheckBox ('Kek Coklat', diri)
cb1.bergerak (20, 70)
cb1.negeriTukar.sambung (lambda: diri.Terpilih_Nilai (cb1))
cb2 = QCheckBox ('Ais-Krim', diri)
cb2.bergerak (20, 90)
cb2.negeriTukar.sambung (lambda: diri.Terpilih_Nilai (cb2))
cb3 = QCheckBox ('Pasta', diri)
cb3.bergerak (20, 110)
cb3.negeriTukar.sambung (lambda: diri.Terpilih_Nilai (cb3))
diri.label = QLabel ('Tidak Ada Yang Dipilih')
diri.label.bergerak (20, 150)
# Tetapkan Tata Letak Qt menegak
vbox = QVBoxLayout ()
vbox.tambahWidget (lb)
vbox.tambahWidget (cb1)
vbox.tambahWidget (cb2)
vbox.tambahWidget (cb3)
vbox.addWidget (diri.label)
diri.setLayout (vbox)
diri.setWindowTitle ('Bentuk dengan Beberapa Kotak Centang')
diri.setGeometri (60, 60, 350, 200)
diri.lblTeks = "
# Paparkan tetingkap di tengah-tengah skrin
menang = diri.bingkaiGeometri ()
pos = QDesktopWidget ().tersedia Geometri ().tengah ()
menang.moveCenter (pos)
diri.bergerak (menang.atas Kiri ())
diri.tunjuk ()
# Tentukan fungsi untuk membaca input pengguna
def Selected_Value (diri, btn):
sekiranya diri.lblTeks != ":
str = diri.lblTeks
strArray = str.berpecah (',')
diri.lblTeks = "
untuk val in strArray:
sekiranya btn.teks () != val:
sekiranya diri.lblTeks == ":
diri.lblTeks = val
lain:
diri.lblTeks + = ',' + val
sekiranya btn.isChecked () == Betul:
sekiranya diri.lblTeks == ":
diri.lblTeks = btn.teks ()
lain:
diri.lblTeks + = ',' + btn.teks ()
lain:
sekiranya btn.isChecked () == Betul:
sekiranya diri.lblTeks == ":
diri.lblTeks = btn.teks ()
lain:
diri.lblTeks + = ',' + btn.teks ()
diri.label.setText ('Anda telah memilih \ n' + diri.lblTeks)
# Buat objek aplikasi dan jalankan aplikasi
app = QApplication (sys.berhujah)
ex = MultipleCheckbox ()
sys.keluar (aplikasi.exec_ ())

Tetingkap berikut akan muncul setelah melaksanakan skrip. Nilai lalai label kedua adalah β€œTidak ada yang dipilih”Dan nilai label akan diubah apabila ada kotak centang yang dicentang atau tidak dicentang oleh pengguna.


Dalam output berikut, dua kotak centang diperiksa oleh pengguna, dan nilai label kedua diubah menjadi β€œCoklat, Pasta".

Kesimpulannya

Cara menentukan satu atau beberapa kotak centang dan membaca nilai kotak pilihan telah dijelaskan dalam tutorial ini dengan menggunakan dua contoh mudah. Kumpulan kotak pilihan boleh ditentukan untuk memilih kotak pilihan tertentu dari kumpulan yang tidak ditunjukkan di sini.

Cara Menunjukkan Kaunter FPS dalam Permainan Linux
Permainan Linux mendapat dorongan utama ketika Valve mengumumkan sokongan Linux untuk klien Steam dan permainan mereka pada tahun 2012. Sejak itu, ban...
Cara memuat turun dan Mainkan Sid Meier's Civilization VI di Linux
Pengenalan permainan Civilization 6 adalah konsep moden mengenai konsep klasik yang diperkenalkan dalam siri permainan Age of Empires. Idea itu cukup ...
Cara Memasang dan Memainkan Doom di Linux
Pengenalan Doom Seri Doom berasal dari tahun 90an selepas pembebasan Doom yang asal. Ini adalah hit seketika dan sejak saat itu dan seterusnya siri pe...