Python

Cara Menggunakan PyQt QComboBox

Cara Menggunakan PyQt QComboBox

A Kotak kombo digunakan untuk memilih satu item dari senarai item, seperti butang radio. The QComboBox kelas PyQt digunakan untuk membuat senarai drop-down menggunakan skrip Python. Ini memaparkan senarai item untuk dipilih oleh pengguna. Item ComboBox dapat ditambahkan, diubah, dan dikeluarkan menggunakan skrip. Beberapa item boleh dipilih seperti butang CheckBox dari senarai item dari ComboBox kemudian disebut ListBox. Tutorial ini menunjukkan cara menggunakan QComboBox untuk membuat senarai drop-down di Python.

Kaedah QComboBox

Kelas QComboBox mengandungi banyak kaedah untuk melaksanakan pelbagai tugas yang berkaitan dengan ComboBox. Beberapa kaedah yang lebih biasa digunakan di kelas ini dijelaskan di bawah:

Nama Kaedah Tujuan
kira () Digunakan untuk mengira jumlah item dalam senarai.
tambahItem () Digunakan untuk menambahkan satu item baru ke senarai.
tambahItem () Digunakan untuk menambahkan beberapa item ke dalam senarai.
itemTeks () Digunakan untuk membaca teks item tertentu berdasarkan indeks.
setItemText () Digunakan untuk menetapkan teks item tertentu berdasarkan indeks.
Teks semasa () Digunakan untuk membaca teks item yang dipilih.
currentIndex () Digunakan untuk membaca indeks item yang dipilih.
jelas () Digunakan untuk menghapus semua item dari senarai.
diserlahkan () Digunakan semasa item dalam senarai diserlahkan.
diaktifkan () Digunakan semasa item dipilih oleh pengguna.
currentIndexChanged () Digunakan apabila item dalam senarai telah berubah.

Penggunaan Kombo

Bahagian berikut memberikan contoh yang menjelaskan beberapa penggunaan ComboBox yang berbeza menggunakan modul QComboBox perpustakaan PyQt.

Contoh 1: Buat Senarai Juntai Ringkas

Contoh ini menunjukkan kepada anda cara membuat senarai drop-down sederhana menggunakan kelas QComboBox. Di sini, senarai drop-down lima elemen dibuat dan dilampirkan ke fungsi khusus yang akan mencetak nilai yang dipilih dari senarai. Satu label digunakan dalam fungsi daftar drop-down untuk menampilkan teks statik, dan label lain digunakan di bawah senarai drop-down untuk menunjukkan nilai yang dipilih.

# Import modul yang diperlukan
import sys
dari PyQt5.Import QtWidgets (QApplication, QWidget, QLabel, QVBoxLayout, QComboBox)
# Menyatakan kelas untuk membuat ComboBox
ComboExample kelas (QWidget):
def __init __ (diri):
super ().__di dalamnya__()
# Tetapkan label sebelum ComboBox
diri.topLabel = QLabel ('Pilih bahasa pengaturcaraan kegemaran anda:', diri)
# Tentukan kombob dengan item
combobox = QComboBox (diri)
kotak kombo.addItem ('PHP')
kotak kombo.addItem ('Python')
kotak kombo.addItem ('Perl')
kotak kombo.addItem ('Bash')
kotak kombo.addItem ('Java')
# Tetapkan label selepas ComboBox
diri.bottomLabel = QLabel (", diri)
diri.label bawah.sesuaikan Saiz ()
# Tentukan kotak susun atur vartikal
v_layout = QVBoxLayout ()
v_lakonan.addWidget (diri.label atas)
v_lakonan.addWidget (komboboks)
v_lakonan.addWidget (diri.label bawah)
# Panggil kaedah khusus jika ada item yang dipilih
kotak kombo.diaktifkan [str].menyambung (diri.diPilih)
# Tetapkan konfigurasi tetingkap
diri.setContentsMargin (20, 20, 20, 20)
diri.setLayout (v_layout)
diri.bergerak (800, 300)
diri.setWindowTitle ('Penggunaan ComboBox')
# Fungsi khusus untuk membaca nilai item yang dipilih
def onSelected (diri, txtVal):
txtVal = "\ nAnda telah memilih:" + txtVal
diri.label bawah.setText (txtVal)
# Buat objek aplikasi dan jalankan aplikasi
app = QApplication (sys.berhujah)
combobox = KomboContoh ()
kotak kombo.tunjuk ()
aplikasi.exec ()

Sekiranya pengguna mengklik senarai drop-down setelah melaksanakan skrip, senarai berikut akan muncul.

Sekiranya pengguna memilih nilainya Tendangan dari senarai juntai bawah, nilai label kedua akan diubah menjadi 'Anda telah memilih: Bash.'

Contoh 2: Buat Kotak Kombo Menggunakan Senarai

Dalam contoh sebelumnya, senarai drop-down dibuat dengan data statik menggunakan kaedah addItem () dari kelas QComboBox. Contoh ini menunjukkan kepada anda cara menambahkan beberapa item dalam senarai drop-down dengan menentukan senarai Python. Pertama, kita akan menambahkan teks statik ke item pertama dari senarai drop-down menggunakan kaedah addItem (). Seterusnya, kami akan menentukan senarai lima elemen dalam skrip, dan kami akan menambahkan elemen-elemen ini ke senarai drop-down menggunakan kaedah addItems (). Fungsi tersuai dilampirkan ke daftar drop-down untuk memaparkan pesan di label berdasarkan pilihan pengguna.

# Import modul yang diperlukan
import sys
dari PyQt5.Import QtWidgets *
# Menyatakan kelas untuk membuat combobox dengan menggunakan data senarai
ComboExample kelas (QMainWindow):
def __init __ (diri):
super ().__di dalamnya__()
# Tetapkan kepingan tetingkap
diri.setWindowTitle ("ComboBox dengan Data senarai")
# Tetapkan geometri untuk tetingkap
diri.setGeometry (100, 100, 350, 150)
# Buat combobox
diri.combobox = QComboBox (diri)
# Tetapkan geometri untuk komboboks
diri.kotak kombo.setGeometry (30, 30, 200, 30)
# Tentukan item senarai untuk kotak kombo
src_engines = ["google.com "," yahoo.com "," tanya.com "," baidu.com "," yandex.com "]
# Aktifkan pilihan combobox yang dapat diedit
diri.kotak kombo.setEditable (Betul)
# Tetapkan item pertama untuk komboboks
diri.kotak kombo.addItem ("Pilih Mesin Pencari")
# Tambah beberapa item dalam senarai menggunakan kotak kombo
diri.kotak kombo.addItems (src_engines)
# Tentukan label di bahagian bawah kombob untuk memberi mesej kepada pengguna
diri.msgLabel = QLabel (", diri)
# Tetapkan geometri untuk label
diri.label msg.setGeometri (30, 60, 290, 60)
# Panggil fungsi khusus apabila item dipilih
diri.kotak kombo.diaktifkan [str].menyambung (diri.diKlik)
# Gerakkan kedudukan tingkap
diri.bergerak (800, 400)
# Paparkan Tingkap
diri.tunjuk ()
# Tentukan kaedah untuk menangani peristiwa klik pada Combobox
def onClicked (diri, val):
# Periksa item yang dipilih oleh pengguna atau tidak
jika val == "Pilih Mesin Pencari":
message = "Anda tidak memilih apa-apa."
lain:
message = "Enjin carian kegemaran anda adalah" + val
# Paparkan teks mesej di label
diri.label msg.setText (mesej)
# Paparkan mesej di konsol
cetak (mesej)
# Buat objek aplikasi
app = QApplication (sys.berhujah)
# Buat objek objek kelas
kombo = Contoh Kombo ()
# Laksanakan aplikasi
aplikasi.exec ()

Sekiranya pengguna mengklik senarai drop-down setelah melaksanakan skrip, maka senarai berikut akan muncul.

Sekiranya pengguna memilih item apa pun kecuali item pertama dalam senarai drop-down, maka nilai yang dipilih akan ditunjukkan dalam label dengan menggabungkan dengan teks lain.

Sekiranya pengguna memilih item pertama dalam senarai drop-down, maka nilainya, 'Anda tidak memilih apa-apa'akan ditunjukkan dalam label.

Kesimpulannya

Artikel ini menunjukkan kepada anda cara membuat dan menggunakan senarai drop-down di Python menggunakan QComboBox kelas menggunakan contoh mudah untuk membantu anda lebih memahami penggunaan kelas ini.

Emulator Konsol Permainan Terbaik untuk Linux
Artikel ini akan menyenaraikan perisian emulasi konsol permainan popular yang tersedia untuk Linux. Emulation adalah lapisan keserasian perisian yang ...
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...
Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...