Kaedah QPushButton
The QPushButton kelas mempunyai banyak kaedah untuk melakukan pelbagai tugas yang berkaitan dengan butang. Beberapa kaedah yang lebih biasa digunakan di kelas ini disebutkan di bawah:
Nama Kaedah | Tujuan |
---|---|
teks () | Digunakan untuk membaca kapsyen butang. |
setTeks () | Digunakan untuk menetapkan teks dalam kapsyen butang. |
setIcon () | Digunakan untuk menetapkan ikon dalam kapsyen butang. |
setDefault () | Digunakan untuk menetapkan butang lalai. |
setEnabled () | Digunakan untuk mengaktifkan atau mematikan butang. Nilai sebanyak Betul digunakan untuk mengaktifkan butang, dan nilai Salah digunakan untuk mematikan butang. |
setCheckable () | Digunakan untuk mengenal pasti sama ada butang ditekan atau dilepaskan. |
diperiksa () | Digunakan untuk membaca keadaan butang yang merupakan nilai boolean. |
togol () | Digunakan untuk bertukar antara negeri. Sekiranya nilai semasa keadaan butang adalah Betul, maka nilainya akan berubah menjadi Salah, dan begitu juga sebaliknya. |
Penggunaan QPushButton
Bahagian berikut memberikan beberapa contoh mudah untuk menjelaskan penggunaan QPushButton.
Contoh 1: Buat Butang Tekan Mudah
Skrip berikut digunakan untuk membuat satu butang di tetingkap. Skrip akan melampirkan fungsi khusus dengan peristiwa yang diklik pada butang untuk memeriksa apakah butang telah diklik. Tingkap akan memaparkan butang setelah pelaksanaan kod. Sekiranya pengguna mengklik butang, teksnya 'Butang ditekan' akan dipaparkan di label.
# Import modul yang diperlukanimport sys
dari PyQt5.QtWidgets mengimport QApplication, QWidget, QPushButton, QLabel
# Tentukan kelas untuk membuat satu butang tekan
Butang kelasContoh (QWidget):
def __init __ (diri):
# Panggil pembina ibu bapa
super ().__di dalamnya__()
# Buat butang
diri.btn = QPushButton ('Klik Saya', diri)
# Tetapkan teks petua alat untuk butang
diri.btn.setToolTip ('Ini adalah butang mudah')
# Tetapkan geometri butang
diri.btn.setGeometry (100, 20, 100, 30)
# Fungsi panggilan apabila butang diklik
diri.btn.diklik.menyambung (diri.diKlik)
# Tentukan label di bahagian bawah butang
diri.msgLabel = QLabel (", diri)
# Tetapkan geometri label
diri.label msg.setGeometri (90, 60, 290, 60)
# Tetapkan tajuk tetingkap
diri.setWindowTitle ('Penggunaan PushButton')
# Tetapkan geometri tetingkap utama
diri.setGeometry (10, 10, 300, 150)
# Tetapkan kedudukan tetingkap utama di skrin
diri.bergerak (850, 300)
# Paparkan tingkap
diri.tunjuk ()
# Tentukan fungsi untuk menangani peristiwa klik pada butang
def onClicked (diri):
# Tetapkan teks untuk label
diri.label msg.setText ('Butang ditekan.')
# Buat objek aplikasi dan jalankan aplikasi
app = QApplication (sys.berhujah)
butang = ButangContoh ()
aplikasi.exec ()
Tetingkap berikut akan muncul setelah melaksanakan skrip.
Sekiranya pengguna mengklik Icklick Me butang, maka teks berikut akan muncul dalam kapsyen di bawah butang.
Contoh 2: Buat Beberapa Butang Tekan
Skrip berikut akan membuat banyak butang tekan menggunakan QPushButton kelas. Dua butang dibuat dalam skrip. Acara yang diklik dari 'Yabutang dilampirkan pada kaedah yang dinamakan btn1_onKlik (), dan peristiwa yang diklik dari 'Tidakbutang dilampirkan pada kaedah yang dinamakan btn2_onKlik (). Kapsyen yang dibuat di bawah butang akan memaparkan pesan yang ditentukan berdasarkan butang yang diklik oleh pengguna. The setGeometri () fungsi digunakan untuk setiap label dan butang untuk mengatur kedudukan objek di tingkap.
import sysdari PyQt5.QtWidgets mengimport QApplication, QWidget, QPushButton, QLabel
MultiButtons kelas (QWidget):
def __init __ (diri):
# Panggil pembina ibu bapa
super ().__di dalamnya__()
# Tentukan label di bahagian atas butang
diri.topLabel = QLabel ('
Adakah anda suka ular sawa?
', diri)# Tetapkan geometri label
diri.label atas.setGeometri (100, 20, 290, 50)
# Buat butang pertama
diri.btn1 = QPushButton ('Ya', diri)
# Tetapkan geometri butang
diri.btn1.setGeometri (130, 70, 60, 40)
# Fungsi panggilan apabila butang diklik
diri.btn1.diklik.menyambung (diri.btn1_onKlik)
# Buat butang kedua
diri.btn2 = QPushButton ('Tidak', diri)
# Tetapkan geometri butang
diri.btn2.setGeometri (200, 70, 60, 40)
# Fungsi panggilan apabila butang diklik
diri.btn2.diklik.menyambung (diri.btn2_onKlik)
# Tentukan label di bahagian bawah butang
diri.msgLabel = QLabel (", diri)
# Tetapkan geometri label
diri.label msg.setGeometri (130, 120, 300, 80)
# Tetapkan tajuk tetingkap
diri.setWindowTitle ('Penggunaan pelbagai PushButtons')
# Tetapkan geometri tetingkap utama
diri.setGeometry (10, 10, 400, 200)
# Tetapkan kedudukan tetingkap utama di skrin
diri.bergerak (850, 300)
# Paparkan tingkap
diri.tunjuk ()
def btn1_onKlik (diri):
# Tetapkan teks untuk label bawah
diri.label msg.setTeks ('
Anda mengklik Ya.
')def btn2_onKlik (diri):
# Tetapkan teks untuk label bawah
diri.label msg.setTeks ('
Anda mengklik Tidak.
')# Buat objek aplikasi dan jalankan aplikasi
app = QApplication (sys.berhujah)
butang = MultiButton ()
aplikasi.exec ()
Tetingkap berikut akan muncul setelah melaksanakan skrip.
Sekiranya pengguna mengklik Ya butang, mesej, 'Anda mengklik Ya'akan dipaparkan sebagai teks label.
Sekiranya pengguna mengklik Tidak butang, mesej, 'Anda mengklik Tidak ' akan dipaparkan sebagai teks label.
Kesimpulannya
Kelas QPushButton membolehkan pengguna membuat satu atau lebih butang berdasarkan keperluan aplikasi. Tutorial ini menunjukkan penggunaan kelas ini untuk membuat satu atau beberapa butang, serta cara menangani peristiwa klik pada butang menggunakan fungsi pengendali acara khusus.