آموزش کلاس تقویم در PyGTK

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

 آموزش کلاس تقویم در PyGTK

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

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

ویجت تقویم در جعبه ابزار PyGTK یک تقویم ساده را با یک ماه نمایش در یک زمان نمایش می دهد. کنترل های ناوبری برای تغییر ماه و سال به طور پیش فرض نمایش داده می شوند. گزینه های نمایش را می توان به طور مناسب پیکربندی کرد.

ارزش دارایی ماه بین ۰ تا ۱۱ و ارزش دارایی تاریخ بین ۱ تا ۳۱ است.

یک سازنده ساده برای ایجاد یک شی gtk وجود دارد. Calendar –

cal = gtk.Calendar()

 

سبک نمایش پیش فرض ماه و سال جاری و همچنین نام روزها را نشان می دهد.

کلاس gtk.Calendar روشهای زیر را دارد –

  • Calendar.select_month (mm، yy) – با این کار صفحه نمایش تقویم به mm و yy مشخص شده تغییر می کند.
  • Calendar.select_day (dd) – این مقدار dd مشخص شده در تقویم را زمانی انتخاب می کند که دارای مقداری بین ۱ تا ۳۱ باشد. اگر dd 0 باشد ، انتخاب روز جاری حذف می شود.
  • () Calendar.display_options – این گزینه نمایش تقویم را بر روی مقدار مشخص شده توسط پرچم ها تنظیم می کند. گزینه های نمایش احتمالی ترکیبی از موارد زیر است:

 

  • gtk.CALENDAR_SHOW_HEADING مشخص می کند که ماه و سال باید نمایش داده شود.
  • gtk.CALENDAR_SHOW_DAY_NAMES مشخص می کند که توضیحات سه حرفی روز باید وجود داشته باشد.
  • gtk.CALENDAR_NO_MONTH_CHANGE از تغییر ماه ها با تقویم جلوگیری می کند.
  • gtk.CALENDAR_SHOW_WEEK_NUMBERS اعداد هفتگی سال جاری را در سمت چپ تقویم نمایش می دهد.
  • gtk.CALENDAR_WEEK_START_MONDAY هفته تقویم را به جای یکشنبه پیش فرض از روز دوشنبه شروع می کند.
  • ()Calendar.get_date  – این برنامه سال ، ماه و شماره های روز تقویم را به صورت چند برابر (سال ، ماه ، روز) تقویم بازیابی می کند.

ویجت gtk.Calendar سیگنال های زیر را منتشر می کند –

day-selected  این حالت زمانی انتخاب می شود که یک روز توسط کاربر یا به صورت برنامه ای انتخاب شود.
month-changed هنگامی که ماه تقویم به صورت برنامه ای یا توسط کاربر تغییر می کند ، منتشر می شود.
next-month این زمانی منتشر می شود که کاربر روی کنترل هدایت “ماه بعد” در سربرگ تقویم کلیک کند.
next-year هنگامی که کاربر روی کنترل ناوبری “سال بعد” در سربرگ تقویم کلیک کند، منتشر می شود.
prev-month  این زمانی منتشر می شود که کاربر روی کنترل هدایت ” ماه قبل” در سربرگ تقویم کلیک کند.
prev-year این زمانی منتشر می شود که کاربر روی کنترل هدایت  “سال قبل” در سربرگ تقویم کلیک کند.

 

در مثال زیر، یک کنترل gtk.Calendar و چهار دکمه در پنجره سطح بالا قرار داده شده است.

وقتی روی دکمه “heading” کلیک می شود، گزینه های نمایش تقویم روی SHOW_HEADING تنظیم می شود –

def heading(self, widget):
   self.cal.set_display_options(gtk.CALENDAR_SHOW_HEADING)

 

هنگامی که کاربر روی دکمه “day name” کلیک می کند، پاسخ تماس گزینه های نمایش را روی SHOW_DAY_NAMES تنظیم می کند –

def dayname(self, widget):
self.cal.set_display_options(gtk.CALENDAR_SHOW_DAY_NAMES)

 

با فشردن دکمه “both” هر دو گزینه نمایش فعال می شوند. برای شروع، همه پرچم های گزینه های نمایش با تنظیم روی ۰ حذف می شوند.

self.cal.set_display_options(0)

 

دکمه “set” یک کادر پیام ظاهر می شود که تاریخ مشخص شده را نشان می دهد.

tp = self.cal.get_date()
str1 = str(tp[0])
str2 = str(tp[1]+1)
str3 = str(tp[2])
label = gtk.Label("Date selected:"+str3+"-"+str2+"-"+str1)
dialog.vbox.add(label)
label.show()

 

مثال کلاس تقویم در PyGTK

 

import gtk

class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Calendar Demo")
      self.set_size_request(300, 200)
      self.set_position(gtk.WIN_POS_CENTER)
        
      vbox = gtk.VBox(False, 5)
      self.cal = gtk.Calendar()
      halign1 = gtk.Alignment(0.5, 0.5, 0, 0)
      halign1.add(self.cal)
        
      self.cal.set_display_options(0)
      valign = gtk.Alignment(0, 1, 0, 0)
      vbox.pack_start(halign1)
        
      self.btn1 = gtk.Button("set")
      self.btn2 = gtk.Button("heading")
      self.btn3 = gtk.Button("day name")
      self.btn4 = gtk.Button("Both")
        
      hbox = gtk.HBox(True, 3)
      hbox.add(self.btn1)
      hbox.add(self.btn2)
      hbox.add(self.btn3)
      hbox.add(self.btn4)
        
      halign = gtk.Alignment(0.5, 0.5, 0, 0)
      halign.add(hbox)
        
      vbox.pack_start(halign, False, True, 10)
      self.add(vbox)
        
      self.btn1.connect("clicked", self.selectdate)
      self.btn2.connect("clicked", self.heading)
      self.btn3.connect("clicked", self.dayname)
      self.btn4.connect("clicked", self.bothflags)
        
      self.connect("destroy", gtk.main_quit)
      self.show_all()
        
   def heading(self, widget):
      self.cal.set_display_options(gtk.CALENDAR_SHOW_HEADING)
        
   def dayname(self, widget):
      self.cal.set_display_options(gtk.CALENDAR_SHOW_DAY_NAMES)
        
   def bothflags(self, widget):
      self.cal.set_display_options(gtk.CALENDAR_SHOW_HEADING|gtk.CALENDAR_SHOW_DAY_NAMES)
   def selectdate(self, widget):
      tp = self.cal.get_date()
      dialog = gtk.Dialog("My dialog",
      self,
      gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
      (gtk.STOCK_OK, gtk.RESPONSE_ACCEPT))
        
      str1 = str(tp[0])
      str2 = str(tp[1]+1)
      str3 = str(tp[2])
        
      label = gtk.Label("Date selected:"+str3+"-"+str2+"-"+str1)
      dialog.vbox.add(label)
      label.show()
      res = dialog.run()
      dialog.destroy()

PyApp()
gtk.main()

 

پس از اجرا کد فوق خروجی زیر را تولید می کند –

 

Calendar Demo

 

منبع.

 

 

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

  1. آموزش PyGTK
  2. معرفی PyGTK
  3. آموزش محیط  PyGTK
  4. آموزش Hello World در  PyGTK
  5. آموزش کلاس های مهم در  PyGTK
  6. آموزش کلاس پنجره در PyGTK
  7. آموزش کلاس دکمه در PyGTK
  8. آموزش کلاس لیبل در PyGTK
  9. آموزش کلاس ورود در PyGTK
  10. آموزش مدیریت سیگنال در PyGTK
  11. آموزش مدیریت رویداد در PyGTK
  12. آموزش کانتینر در PyGTK
  13. آموزش کلاس جعبه در PyGTK
  14. آموزش کلاس ButtonBox در PyGTK
  15. آموزش کلاس تراز در PyGTK
  16. آموزش کلاس EventBox در PyGTK
  17. آموزش کلاس Layout در PyGTK
  18. آموزش کلاس ComboBox در PyGTK
  19. آموزش کلاس ToggleButton در PyGTK
  20. آموزش کلاس CheckButton در PyGTK
  21. آموزش کلاس RadioButton در PyGTK
  22. آموزش MenuBar ،Menu و MenuItem در PyGTK
  23. آموزش کلاس نوار ابزار در PyGTK
  24. آموزش کلاس Adjustment در PyGTK
  25. موزش کلاس Range در PyGTK
  26. آموزش کلاس Scale در PyGTK
  27. آموزش کلاس Scrollbar در PyGTK
  28. آموزش کلاس Dialog در PyGTK
  29. آموزش کلاس MessageDialog در PyGTK
  30. آموزش کلاس AboutDialog در PyGTK
  31. آموزش کلاس FontSelection در PyGTK
  32. آموزش کلاس Color Selection در PyGTK
  33. آموزش دیالوگ انتخاب فایل در PyGTK
  34. آموزش کلاس نوت بوک در PyGTK
  35. آموزش کلاس فریم در PyGTK
  36. آموزش کلاس AspectFrame در PyGTK
  37. آموزش کلاس TreeView در PyGTK
  38. آموزش کلاس Paned در PyGTK
  39. آموزش کلاس نوار وضعیت در PyGTK
  40. آموزش کلاس ProgressBar در PyGTK
  41. آموزش کلاس Viewport در PyGTK
  42. آموزش کلاس ScrolledWindow در PyGTK
  43. آموزش کلاس Arrow در PyGTK
  44.  آموزش کلاس Image در PyGTK
  45. آموزش کلاس DrawingArea در PyGTK
  46. آموزش کلاس SpinButton در PyGTK
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه