آموزش کلاس تقویم در PyGTK
آموزش کلاس تقویم در PyGTK
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس تقویم در PyGTK خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش صفر تا صد پایتون
ویجت تقویم در جعبه ابزار PyGTK یک تقویم ساده را با یک ماه نمایش در یک زمان نمایش می دهد. کنترل های ناوبری برای تغییر ماه و سال به طور پیش فرض نمایش داده می شوند. گزینه های نمایش را می توان به طور مناسب پیکربندی کرد.
ارزش دارایی ماه بین 0 تا 11 و ارزش دارایی تاریخ بین 1 تا 31 است.
یک سازنده ساده برای ایجاد یک شی gtk وجود دارد. Calendar –
1 |
cal = gtk.Calendar() |
سبک نمایش پیش فرض ماه و سال جاری و همچنین نام روزها را نشان می دهد.
کلاس gtk.Calendar روشهای زیر را دارد –
- Calendar.select_month (mm، yy) – با این کار صفحه نمایش تقویم به mm و yy مشخص شده تغییر می کند.
- Calendar.select_day (dd) – این مقدار dd مشخص شده در تقویم را زمانی انتخاب می کند که دارای مقداری بین 1 تا 31 باشد. اگر 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 تنظیم می شود –
1 2 |
def heading(self, widget): self.cal.set_display_options(gtk.CALENDAR_SHOW_HEADING) |
هنگامی که کاربر روی دکمه “day name” کلیک می کند، پاسخ تماس گزینه های نمایش را روی SHOW_DAY_NAMES تنظیم می کند –
1 2 |
def dayname(self, widget): self.cal.set_display_options(gtk.CALENDAR_SHOW_DAY_NAMES) |
با فشردن دکمه “both” هر دو گزینه نمایش فعال می شوند. برای شروع، همه پرچم های گزینه های نمایش با تنظیم روی 0 حذف می شوند.
1 |
self.cal.set_display_options(0) |
دکمه “set” یک کادر پیام ظاهر می شود که تاریخ مشخص شده را نشان می دهد.
1 2 3 4 5 6 7 |
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
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
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() |
پس از اجرا کد فوق خروجی زیر را تولید می کند –
لیست جلسات قبل آموزش PyGTK
- آموزش PyGTK
- معرفی PyGTK
- آموزش محیط PyGTK
- آموزش Hello World در PyGTK
- آموزش کلاس های مهم در PyGTK
- آموزش کلاس پنجره در PyGTK
- آموزش کلاس دکمه در PyGTK
- آموزش کلاس لیبل در PyGTK
- آموزش کلاس ورود در PyGTK
- آموزش مدیریت سیگنال در PyGTK
- آموزش مدیریت رویداد در PyGTK
- آموزش کانتینر در PyGTK
- آموزش کلاس جعبه در PyGTK
- آموزش کلاس ButtonBox در PyGTK
- آموزش کلاس تراز در PyGTK
- آموزش کلاس EventBox در PyGTK
- آموزش کلاس Layout در PyGTK
- آموزش کلاس ComboBox در PyGTK
- آموزش کلاس ToggleButton در PyGTK
- آموزش کلاس CheckButton در PyGTK
- آموزش کلاس RadioButton در PyGTK
- آموزش MenuBar ،Menu و MenuItem در PyGTK
- آموزش کلاس نوار ابزار در PyGTK
- آموزش کلاس Adjustment در PyGTK
- موزش کلاس Range در PyGTK
- آموزش کلاس Scale در PyGTK
- آموزش کلاس Scrollbar در PyGTK
- آموزش کلاس Dialog در PyGTK
- آموزش کلاس MessageDialog در PyGTK
- آموزش کلاس AboutDialog در PyGTK
- آموزش کلاس FontSelection در PyGTK
- آموزش کلاس Color Selection در PyGTK
- آموزش دیالوگ انتخاب فایل در PyGTK
- آموزش کلاس نوت بوک در PyGTK
- آموزش کلاس فریم در PyGTK
- آموزش کلاس AspectFrame در PyGTK
- آموزش کلاس TreeView در PyGTK
- آموزش کلاس Paned در PyGTK
- آموزش کلاس نوار وضعیت در PyGTK
- آموزش کلاس ProgressBar در PyGTK
- آموزش کلاس Viewport در PyGTK
- آموزش کلاس ScrolledWindow در PyGTK
- آموزش کلاس Arrow در PyGTK
- آموزش کلاس Image در PyGTK
- آموزش کلاس DrawingArea در PyGTK
- آموزش کلاس SpinButton در PyGTK
دیدگاه شما