آموزش کلاس نوت بوک در PyGTK
آموزش کلاس نوت بوک در PyGTK
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس نوت بوک در PyGTK خواهیم پرداخت.
پیشنهاد ویژه : آموزش طراحی وب سایت با پایتون
ویجت نوت بوک کانتینر تب دار است. هر تب در این کانتینر دارای صفحه ای متفاوت است و صفحات به صورت همپوشانی دیده می شوند. هر صفحه دلخواه با کلیک روی برچسب تب قابل مشاهده می شود. برچسب ها می توانند پیکربندی شوند تا در بالا یا پایین یا در چپ یا راست نمایش داده شوند. یک ویجت ظرف با ویجت های دیگر که در آن قرار دارد یا یک ویجت واحد در زیر هر صفحه قرار می گیرد.
اگر داده ها برای نمایش در یک نمای بسیار بزرگ باشند، در صفحات مختلف گروه بندی می شوند که هر کدام در زیر یک برگه از ویجت نوت بوک قرار می گیرند. این نوع کنترل بسیار کاربرد دارد. به عنوان مثال مرورگر اینترنت از این صفحه نمایش برای نمایش صفحات مختلف در تب های مختلف استفاده می کند.
در زیر سازنده کلاس gtk است. نوت بوک –
1 |
gtk.Notebook() |
در زیر متدهای متداول کلاس gtk است.
append_page (child، label) – این صفحه ای را به نوت بوک اضافه می کند که حاوی ویجتی است که توسط tab_label به عنوان برچسب روی تب مشخص شده است. اگر tab_label می تواند هیچکدام از برچسب پیش فرض استفاده کند.
insert_page(child, label, position) – این یک صفحه را در نوت بوک در محلی که با موقعیت مشخص شده است ، وارد می کند.
remove_page (index) – این صفحه را در فهرست مشخص شده حذف می کند.
()get_current_page – این صفحه فهرست صفحه فعلی را برمی گرداند.
set_current_page (index) – این به شماره صفحه مشخص شده توسط فهرست تغییر می کند.
()set_show_tabs – اگر falseباشد، تب ها قابل مشاهده نیستند. این به طور پیش فرض True است.
set_tab_pos (pos) – این لبه ای را تعیین می کند که زبانه های تعویض صفحات در نوت بوک در آن کشیده شده اند. ثابت های از پیش تعریف شده عبارتند از –
- gtk.POS_LEFT
- gtk.POS_RIGHT
- gtk.POS_TOP
- gtk.POS_BOTTOM
set_tab_label_text(child, text)– این یک برچسب جدید با متن مشخص شده ایجاد می کند و آن را به عنوان برچسب تب برای صفحه حاوی فرزند تعیین می کند.
ویجت gtk.Notebook سیگنال های زیر را منتشر می کند –
change-current-page | وقتی درخواست صفحه به جلو یا صفحه عقب صادر می شود، منتشر می شود |
focus-tab | وقتی فوکوس با تب تغییر می کند، منتشر می شود. |
page-added | این مورد زمانی منتشر می شود که صفحه ای به نوت بوک اضافه شود. |
page-removed | پس از حذف صفحه از نوت بوک، این صفحه منتشر می شود. |
select-page | این صفحه زمانی انتخاب می شود که یک صفحه فرزند جدید انتخاب شود. |
switch-page | هنگامی که صفحه نوت بوک تغییر می کند، منتشر می شود. |
مثال
در مثال زیر، یک gtk. نوت بوک با سه صفحه در یک gtk سطح بالا قرار می گیرد. صفحه اول دارای VBox است که در آن برچسب و قسمت Entry بسته بندی شده است. صفحه دوم با عنوان “qualifications” دارای یک HButtonBox است که در آن سه ویجت RadioButton متقابل منحصر به فرد اضافه شده است. صفحه سوم دارای یک شی TextView است. برچسب های صفحه در بالا نمایش داده می شود.
کد را دنبال کنید –
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 |
import gtk class PyApp(gtk.Window): def __init__(self): super(PyApp, self).__init__() self.set_title("Notebook Demo") self.set_default_size(250, 200) nb = gtk.Notebook() nb.set_tab_pos(gtk.POS_TOP) vbox = gtk.VBox(False, 5) vb = gtk.VBox() hbox = gtk.HBox(True, 3) valign = gtk.Alignment(0.5,0.25, 0, 0) lbl = gtk.Label("Name of student") vb.pack_start(lbl, True, True, 10) text = gtk.Entry() vb.pack_start(text, True, True, 10) valign.add(vb) vbox.pack_start(valign) nb.append_page(vbox) nb.set_tab_label_text(vbox, "Name") hb = gtk.HButtonBox() btn1 = gtk.RadioButton(None,"Degree") hb.add(btn1) btn2 = gtk.RadioButton(btn1,"P.G.") hb.add(btn2) btn3 = gtk.RadioButton(btn1,"Doctorate") hb.add(btn3) nb.append_page(hb) nb.set_tab_label_text(hb, "Qualification") tv = gtk.TextView() nb.append_page(tv) nb.set_tab_label_text(tv, "about") self.add(nb) self.connect("destroy", gtk.main_quit) self.show_all() if __name__ == '__main__': 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
دیدگاه شما