Python

Cara Menggunakan PyQt QMessageBox

Cara Menggunakan PyQt QMessageBox
Kotak pesan digunakan dalam aplikasi GUI untuk memberikan informasi yang diperlukan bagi pengguna atau untuk meminta pengguna mengambil tindakan berdasarkan pesan. Empat jenis kotak pesan dapat dibuat untuk aplikasi GUI apa pun, termasuk kotak pesan informasional, kotak pesan peringatan, kotak pesan kritis, dan kotak pesan pertanyaan. Itu QMessageBox kelas PyQt digunakan dalam Python untuk membuat kotak pesan. Tutorial ini menunjukkan cara menggunakan kelas QMessageBox untuk membuat berbagai kotak pesan.

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 diperlukan
sistem 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 diperlukan
sistem 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 diperlukan
sistem 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.

5 Kartu Tangkap Game Teratas
Kita semua telah melihat dan menyukai gameplay streaming di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain top yang telah m...
Cara Mengembangkan Game di Linux
Satu dekade yang lalu, tidak banyak pengguna Linux yang memprediksi bahwa sistem operasi favorit mereka suatu hari nanti akan menjadi platform game po...
Port Sumber Terbuka dari Mesin Game Komersial
Rekreasi mesin game gratis, open source, dan lintas platform dapat digunakan untuk bermain lama serta beberapa judul game yang cukup baru. Artikel ini...