آموزش کلاس QMessageBox در PyQt

3 سال پیش

آموزش کلاس QMessageBox در PyQt

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس QMessageBox در PyQt خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش پایتون

QMessageBox یک دیالوگ معمولی است که معمولاً برای نمایش برخی پیامهای اطلاعاتی استفاده می شود و به صورت اختیاری از کاربر می خواهد با کلیک روی یکی از دکمه های استاندارد روی آن پاسخ دهد. هر دکمه استاندارد دارای یک عنوان از پیش تعیین شده، یک نقش است و یک عدد هگزادسیمال از پیش تعریف شده را برمی گرداند.

روش ها و شمارش های مهم مربوط به کلاس QMessageBox در جدول زیر آورده شده است –

متد و توضیحات
۱ ()setIcon

نماد از پیش تعریف شده مربوط به شدت پیام را نمایش می دهد

Question سوال

Informationاطلاعات

Warningخطر

Criticalبحرانی

۲ setText

متن پیام اصلی را برای نمایش تنظیم می کند

۳ ()setInformativeText

اطلاعات اضافی را نمایش می دهد

۴ ()setDetailText

دیالوگ یک دکمه Details را نشان می دهد. این متن با کلیک روی آن ظاهر می شود

۵ ()setTitle

عنوان سفارشی گفتگو را نمایش می دهد

۶ ()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

۷ ()setDefaultButton

دکمه را به عنوان پیش فرض تنظیم می کند. اگر Enter را فشار دهید ، سیگنال کلیک شده را منتشر می کند

۸ ()setEscapeButton

دکمه ای را تنظیم می کند که در صورت فشار دادن کلید فرار ، با آن کلیک شود

مثال

در مثال زیر، روی سیگنال دکمه در پنجره سطح بالا کلیک کنید ، عملکرد متصل کادر محاوره ای پیام را نمایش می دهد.

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 دکمه های مورد نظر را نمایش می دهد.

msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)

 

()buttonClicked  سیگنال به یک تابع شکاف متصل است، که عنوان منبع سیگنال را مشخص می کند.

msg.buttonClicked.connect(msgbtn)

 

کد کامل مثال به شرح زیر است –

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()

 

کد بالا خروجی زیر را تولید می کند –

QMessageBox Output1

QMessageBox Output2

 

منبع.

 

لیست جلسات قبل آموزش PyQt

  1. آموزش PyQt
  2. آموزش مقدمه PyQt
  3. آموزش Hello World در PyQt
  4. آموزش کلاس های اصلی در PyQt
  5. آموزش استفاده از Qt Designer در PyQt
  6. آموزش سیگنال ها و شکاف ها در PyQt
  7. آموزش مدیریت طرح بندی در PyQt
  8. آموزش ویجت های کلی در PyQt
  9. آموزش کلاس QDialog در PyQt
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه