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

3 سال پیش
آموزش PyQt

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

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

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

ویجت QDialog یک پنجره سطح بالا ارائه می دهد که بیشتر برای جمع آوری پاسخ از کاربر استفاده می شود. می توان آن را به صورت Modal (جایی که پنجره اصلی آن را مسدود می کند) یا Modeless (پنجره محاوره را می توان دور زد) پیکربندی کرد.

PyQt API تعدادی ویجت از پیش تنظیم شده Dialog مانند InputDialog ، FileDialog ، FontDialog و غیره دارد.

مثال

در مثال زیر، ویژگی WindowModality پنجره Dialog تعیین می کند که آیا این حالت مودال است یا بدون حالت. هر دکمه روی محاوره را می توان به صورت پیش فرض تنظیم کرد. وقتی کاربر کلید Escape را فشار می دهد ، محاوره با روش QDialog.reject کنار گذاشته می شود.

هنگامی که روی دکمه PushButton در پنجره QWidget سطح بالا کلیک می کنید، پنجره Dialog تولید می شود. یک جعبه گفتگو دارای کنترل های حداقل و حداکثر بر روی نوار عنوان خود نیست.

کاربر نمی تواند این کادر محاوره ای را در پس زمینه منتقل کند زیرا WindowModality آن روی ApplicationModal تنظیم شده است.

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *

def window():
   app = QApplication(sys.argv)
   w = QWidget()
   b = QPushButton(w)
   b.setText("Hello World!")
   b.move(50,50)
   b.clicked.connect(showdialog)
   w.setWindowTitle("PyQt Dialog demo")
   w.show()
   sys.exit(app.exec_())
    
def showdialog():
   d = QDialog()
   b1 = QPushButton("ok",d)
   b1.move(50,50)
   d.setWindowTitle("Dialog")
   d.setWindowModality(Qt.ApplicationModal)
   d.exec_()
    
if __name__ == '__main__':
   window()

 

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

QDialog Class Output

 

منبع.

 

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

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

دیدگاه شما

بدون دیدگاه