PyQt5 - QMessageBox
QMessageBoxadalah dialog modal yang umum digunakan untuk menampilkan beberapa pesan informasional dan secara opsional meminta pengguna untuk menanggapi dengan mengklik salah satu tombol standar di atasnya. Setiap tombol standar memiliki teks standar, peran, dan mengembalikan angka heksadesimal yang telah ditentukan sebelumnya.
Metode dan enumerasi penting yang terkait dengan kelas QMessageBox diberikan dalam tabel berikut -
Sr.No. | Metode & Deskripsi |
---|---|
1 | setIcon() Menampilkan ikon standar yang sesuai dengan tingkat keparahan pesan
|
2 | setText() Mengatur teks pesan utama untuk ditampilkan |
3 | setInformativeText() Menampilkan informasi tambahan |
4 | setDetailText() Dialog menampilkan tombol Detail. Teks ini muncul saat mengkliknya |
5 | setTitle() Menampilkan judul dialog kustom |
6 | setStandardButtons() Daftar tombol standar yang akan ditampilkan. Setiap tombol dikaitkan dengan QMessageBox.Ok 0x00000400 QMessageBox. Buka 0x00002000 QMessageBox. Simpan 0x00000800 QMessageBox. Batalkan 0x00400000 QMessageBox.Close 0x00200000 QMessageBox. Ya 0x00004000 QMessageBox. Tidak 0x00010000 QMessageBox.Abort 0x00040000 QMessageBox.Retry 0x00080000 QMessageBox. Abaikan 0x00100000 |
7 | setDefaultButton() Setel tombol sebagai default. Ini memancarkan sinyal yang diklik jika Enter ditekan |
8 | setEscapeButton() Menyetel tombol agar diperlakukan seperti diklik jika tombol escape ditekan |
Contoh
Dalam contoh berikut, sinyal klik tombol di jendela tingkat atas, fungsi terhubung menampilkan dialog kotak pesan.
msg = QMessageBox()
msg.setIcon(QMessageBox.Information)
msg.setText("This is a message box")
msg.setInformativeText("This is additional information")
msg.setWindowTitle("MessageBox demo")
msg.setDetailedText("The details are as follows:")
fungsi setStandardButton () menampilkan tombol yang diinginkan.
msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
Sinyal buttonClicked () terhubung ke fungsi slot, yang mengidentifikasi judul sumber sinyal.
msg.buttonClicked.connect(msgbtn)
Kode lengkap untuk contoh tersebut adalah sebagai berikut -
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
def window():
app = QApplication(sys.argv)
w = QWidget()
b = QPushButton(w)
b.setText("Show message!")
b.move(100,50)
b.clicked.connect(showdialog)
w.setWindowTitle("PyQt MessageBox demo")
w.show()
sys.exit(app.exec_())
def showdialog():
msg = QMessageBox()
msg.setIcon(QMessageBox.Information)
msg.setText("This is a message box")
msg.setInformativeText("This is additional information")
msg.setWindowTitle("MessageBox demo")
msg.setDetailedText("The details are as follows:")
msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
msg.buttonClicked.connect(msgbtn)
retval = msg.exec_()
def msgbtn(i):
print ("Button pressed is:",i.text())
if __name__ == '__main__':
window()
Kode di atas menghasilkan keluaran sebagai berikut. Kotak Pesan muncul ketika tombol jendela utama diklik -
Jika Anda mengklik tombol Ok atau Batal di MessageBox, output berikut dihasilkan di konsol -
Button pressed is: OK
Button pressed is: Cancel