آموزش کلاس QMessageBox در PyQt
آموزش کلاس QMessageBox در PyQt
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس QMessageBox در PyQt خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پایتون
QMessageBox یک دیالوگ معمولی است که معمولاً برای نمایش برخی پیامهای اطلاعاتی استفاده می شود و به صورت اختیاری از کاربر می خواهد با کلیک روی یکی از دکمه های استاندارد روی آن پاسخ دهد. هر دکمه استاندارد دارای یک عنوان از پیش تعیین شده، یک نقش است و یک عدد هگزادسیمال از پیش تعریف شده را برمی گرداند.
روش ها و شمارش های مهم مربوط به کلاس QMessageBox در جدول زیر آورده شده است –
متد و توضیحات | |
---|---|
1 | ()setIcon
نماد از پیش تعریف شده مربوط به شدت پیام را نمایش می دهد سوال اطلاعات خطر بحرانی |
2 | setText
متن پیام اصلی را برای نمایش تنظیم می کند |
3 | ()setInformativeText
اطلاعات اضافی را نمایش می دهد |
4 | ()setDetailText
دیالوگ یک دکمه Details را نشان می دهد. این متن با کلیک روی آن ظاهر می شود |
5 | ()setTitle
عنوان سفارشی گفتگو را نمایش می دهد |
6 | ()setStandardButtons
لیست دکمه های استاندارد نمایش داده می شود. QMessageBox.Ok 0x00000400 QMessageBox.Open 0x00002000 QMessageBox.Save 0x00000800 QMessageBox.Cancel 0x00400000 QMessageBox.Close 0x00200000 QMessageBox.Yes 0x00004000 QMessageBox.No 0x00010000 QMessageBox.Abort 0x00040000 QMessageBox.Retry 0x00080000 QMessageBox.Ignore 0x00100000 |
7 | ()setDefaultButton
دکمه را به عنوان پیش فرض تنظیم می کند. اگر Enter را فشار دهید ، سیگنال کلیک شده را منتشر می کند |
8 | ()setEscapeButton
دکمه ای را تنظیم می کند که در صورت فشار دادن کلید فرار ، با آن کلیک شود |
مثال
در مثال زیر، روی سیگنال دکمه در پنجره سطح بالا کلیک کنید ، عملکرد متصل کادر محاوره ای پیام را نمایش می دهد.
1 2 3 4 5 6 |
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:") |
تابع ()setStandardButton دکمه های مورد نظر را نمایش می دهد.
1 |
msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) |
()buttonClicked سیگنال به یک تابع شکاف متصل است، که عنوان منبع سیگنال را مشخص می کند.
1 |
msg.buttonClicked.connect(msgbtn) |
کد کامل مثال به شرح زیر است –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import sys from PyQt4.QtGui import * from PyQt4.QtCore import * def window(): app = QApplication(sys.argv) w = QWidget() b = QPushButton(w) b.setText("Show message!") b.move(50,50) b.clicked.connect(showdialog) w.setWindowTitle("PyQt Dialog 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_() print "value of pressed message box button:", retval def msgbtn(i): print "Button pressed is:",i.text() if __name__ == '__main__': window() |
کد بالا خروجی زیر را تولید می کند –
دیدگاه شما