آموزش مدیریت رویداد در PyGTK

3 سال پیش
آموزش مدیریت رویداد در PyGTK

آموزش مدیریت رویداد در PyGTK

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

پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون و جنگو

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

 

برخی از رویدادهای سیستم در زیر ذکر شده است –

 

  • button_press_event
  • button_release_event
  • scroll_event
  • motion_notify_event
  • delete_event
  • event_event
  • expose_event
  • key_press_event
  • key_release_event

روش ()connect برای ارتباط دادن رویداد با تابع callback از نحو زیر استفاده می شود –

Object.connect(name, function, data)

 

در اینجا، نام مخفف رشته مربوط به نام رویدادی است که باید ضبط شود. و تابع نام تابع callback است که هنگام وقوع یک رویداد فراخوانی می شود. داده استدلالی است که باید به تابع callback منتقل شود.

 

بنابراین کد زیر یک ویجت Button را متصل می کند و رویداد button_press را ضبط می کند –

self.btn.connect("button_press_event", self.hello)

 

در زیر نمونه اولیه تابع ()hello خواهد بود –

def hello(self,widget,event):

 

مثال

در زیر کد کنترل کننده رویداد دکمه است –

import gtk
class PyApp(gtk.Window):
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Hello World in PyGTK")
      self.set_default_size(400,300)
      self.set_position(gtk.WIN_POS_CENTER)
        
      self.label = gtk.Label("Enter name")
      self.entry = gtk.Entry()
      self.btn = gtk.Button("Say Hello")
      self.btn.connect("button_press_event", self.hello)
        
      fixed = gtk.Fixed()
      fixed.put(self.label, 100,100)
      fixed.put(self.entry, 100,125)
      fixed.put(self.btn,100,150)
        
      self.add(fixed)
      self.show_all()
        
   def hello(self,widget,event):
      print "hello",self.entry.get_text()

PyApp()
gtk.main()

 

وقتی کد بالا را اجرا می کنید، خروجی زیر را روی کنسول نمایش می دهد –

Hello TutorialsPoint

 

منبع.

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

  1. آموزش PyGTK
  2. معرفی PyGTK
  3. آموزش محیط  PyGTK
  4. آموزش Hello World در  PyGTK
  5. آموزش کلاس های مهم در  PyGTK
  6. آموزش کلاس پنجره در PyGTK
  7. آموزش کلاس دکمه در PyGTK
  8. آموزش کلاس لیبل در PyGTK
  9. آموزش کلاس ورود در PyGTK
  10. آموزش مدیریت سیگنال در PyGTK
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه