Metode yang Diperlukan
Kelas QMessageBox memiliki banyak metode untuk membuat berbagai jenis kotak pesan. Beberapa metode yang lebih umum digunakan dari kelas QMessageBox dijelaskan di bawah ini:
Nama Metode | Tujuan |
---|---|
setJudul() | Digunakan untuk menampilkan judul khusus. |
setTeks() | Digunakan untuk mengatur teks pesan utama. |
setDetailText() | Digunakan untuk menampilkan jendela dengan tombol detail; teks pesan akan muncul setelah pengguna mengklik tombol. |
setInformativeText | Digunakan untuk menampilkan pesan tambahan. |
setIkon() | Digunakan untuk mengatur ikon di kotak pesan berdasarkan jenis pesan. |
setJendelaJudul() | Digunakan untuk mengatur judul jendela pesan. |
setDefaultButton() | Digunakan untuk mengatur tombol di kotak pesan default; tombol akan melepaskan sinyal yang diklik ketika Memasukkan tombol ditekan. |
setEscapeButton() | Digunakan untuk mengatur tombol apa saja agar berfungsi sebagai kunci pelarian; tombol akan melepaskan sinyal yang diklik ketika Melarikan diri tombol ditekan. |
setStandardButtons() | Berbagai tombol standar dapat digunakan dalam kotak pesan berdasarkan jenis pesan, seperti OK, Ya, Tidak, Batal, Tutup, dll. |
Penggunaan QMessageBox
Bagian berikut dari tutorial ini memberikan contoh yang akan menunjukkan cara membuat kotak pesan yang berbeda menggunakan kelas QMessageBoxage.
Contoh 1: Buat Kotak Pesan Informasi
Skrip berikut akan membuat kotak pesan informasi sederhana menggunakan kelas QMessageBox. Jenis kotak pesan ini menyediakan pesan informasi untuk pengguna saja. baik adalah tombol default di kotak pesan. Sini, QMessageBox.Informasi digunakan dalam setIkon() metode untuk menampilkan ikon informasi di kotak pesan.
# Impor modul yang diperlukansistem impor
dari PyQt5.QtWidgets mengimpor QApplication, QMainWindow, QMessageBox
# Tentukan kelas untuk menampilkan pesan informasi
kelas MessageWindow(QMainWindow):
def __init__(sendiri):
# Panggil konstruktor induk
super().__init__()
# Buat objek kotak pesan
diri.pesan = QMessageBox()
# Atur ikon informasi
diri.pesan.setIkon(QMessageBox.Informasi)
# Atur pesan utama
diri.pesan.setText("Tugas berhasil diselesaikan.")
# Atur judul jendela
diri.pesan.setWindowTitle("Pesan Informasi")
# Tampilkan kotak pesan
diri.pesan.menunjukkan()
# Buat objek aplikasi dan jalankan aplikasi
aplikasi = QAplikasi(sys.argv)
Menang = MessageWindow()
aplikasi.eksekutif()
Kotak pesan berikut akan muncul setelah skrip di atas dijalankan:.
Contoh 2: Buat Kotak Pesan Peringatan
Skrip berikut akan membuat kotak pesan peringatan menggunakan kelas QMessageBox. Jenis kotak pesan ini menyediakan pesan peringatan untuk pengguna. Itu peringatan digunakan dalam setIkon() metode untuk menampilkan ikon peringatan di kotak pesan. Itu baik dan Membatalkan tombol ditambahkan ke kotak pesan menggunakan setStandardButtons() metode. Metode khusus yang disebut tombol pesan() didefinisikan di kelas untuk melacak tombol di kotak pesan yang telah diklik oleh pengguna. Jika pengguna mengklik baik tombol, lalu teks, 'Tombol OK ditekan,' akan mencetak; jika tidak, 'Tombol batal ditekan' teks akan dicetak.
# Impor modul yang diperlukansistem impor
dari PyQt5.QtWidgets mengimpor QApplication, QMainWindow, QMessageBox
# Tentukan kelas untuk menampilkan pesan informasi
kelas MessageWindow(QMainWindow):
def __init__(sendiri):
# Panggil konstruktor induk
super().__init__()
# Buat objek kotak pesan
diri.msgWarning = QMessageBox()
# Atur ikon Peringatan
diri.msgPeringatan.setIcon(QMessageBox.Peringatan)
# Atur pesan utama
diri.msgPeringatan.setTeks("Nama variabel tidak terdefinisi.")
# Atur dua tombol untuk kotak pesan
diri.msgPeringatan.setStandardButtons(QMessageBox.Oke | QMessageBox.Membatalkan)
# Panggil metode khusus pada tombol yang diklik
diri.msgPeringatan.tombolDiklik.menghubungkan (diri sendiri).msgButton)
# Atur judul jendela
diri.msgPeringatan.setWindowTitle("Pesan Peringatan")
# Tampilkan kotak pesan
diri.msgPeringatan.menunjukkan()
# Tentukan fungsi untuk tombol
def msgButton(sendiri, saya):
jika saya.teks() == '&Oke' :
print("Tombol OK ditekan.")
lain:
print("Tombol Batal ditekan.")
# Buat objek aplikasi dan jalankan aplikasi
aplikasi = QAplikasi(sys.argv)
Menang = MessageWindow()
aplikasi.eksekutif_()
Kotak pesan berikut akan muncul setelah skrip di atas dijalankan:.
Jika pengguna mengklik baik tombol, output berikut akan muncul:.
Contoh 3: Buat a Pertanyaan Peringatan Pesan
Skrip berikut akan membuat kotak pesan pertanyaan menggunakan kelas QMessageBox. Jenis kotak pesan ini menyediakan pesan pertanyaan bagi pengguna untuk mengambil tindakan tertentu berdasarkan keputusan pengguna. Sini, QMessageBox.Pertanyaan digunakan dalam setIkon() metode untuk menampilkan ikon pertanyaan di kotak pesan. Itu Iya dan Tidak tombol ditambahkan ke kotak pesan menggunakan setStandardButtons() metode. Itu Tidak tombol diatur sebagai tombol default menggunakan metode setDefaultButton()(). Metode khusus yang disebut tombol pesan() didefinisikan di kelas untuk melacak tombol di kotak pesan yang telah diklik oleh pengguna.
# Impor modul yang diperlukansistem impor
dari PyQt5.QtWidgets mengimpor QApplication, QMainWindow, QMessageBox
# Tentukan kelas untuk menampilkan pesan informasi
kelas MessageWindow(QMainWindow):
def __init__(sendiri):
# Panggil konstruktor induk
super().__init__()
# Buat objek kotak pesan
diri.msgQuestion = QMessageBox()
# Atur ikon Peringatan
diri.msgPertanyaan.setIkon(QMessageBox.Pertanyaan)
# Atur pesan utama
diri.msgPertanyaan.setText("Apakah Anda ingin melanjutkan??")
# Atur dua tombol untuk kotak pesan
diri.msgPertanyaan.setStandardButtons(QMessageBox.Ya | QMessageBox.Tidak)
diri.msgPertanyaan.setDefaultButton(QMessageBox.Tidak)
# Panggil metode khusus pada tombol yang diklik
diri.msgPertanyaan.tombolDiklik.menghubungkan (diri sendiri).msgButton)
# Atur judul jendela
diri.msgPertanyaan.setWindowTitle("Mengajukan Pertanyaan kepada pengguna")
# Tampilkan kotak pesan
diri.msgPertanyaan.menunjukkan()
# Tentukan fungsi untuk tombol
def msgButton(sendiri, saya):
jika saya.teks() == '&Ya' :
print("Tugas sedang berjalan...")
lain:
print("Anda telah membatalkan tugas.")
# Buat objek aplikasi dan jalankan aplikasi
aplikasi = QAplikasi(sys.argv)
Menang = MessageWindow()
aplikasi.eksekutif_()
Kotak pesan berikut akan muncul setelah skrip di atas dijalankan:.
Jika pengguna mengklik Memasukkan tombol tanpa memilih tombol apa pun, lalu tombol Tidak tombol akan diaktifkan secara default, dan output berikut akan muncul:
Kesimpulan
Dalam tutorial ini, tiga jenis kotak pesan yang berbeda dibuat menggunakan kelas QMessageBox. Semoga tutorial ini membantu Anda untuk lebih memahami penggunaan kelas ini. Anda sekarang harus dapat membuat kotak pesan untuk aplikasi PyQt.