آموزش کلاس ScrolledWindow در PyGTK
![آموزش کلاس ScrolledWindow در PyGTK](https://www.sourcebaran.com/learn/wp-content/uploads/2021/10/042.jpg)
آموزش کلاس ScrolledWindow در PyGTK
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس ScrolledWindow در PyGTK خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پایتون
پنجره پیمایش شده برای دسترسی به ویجت دیگر مساحت بزرگتر از پنجره والد ایجاد می شود. برخی از ابزارک ها مانند TreeView و TextView از پشتیبانی اصلی برای پیمایش استفاده می کنند. برای موارد دیگر مانند برچسب یا جدول ، Viewport باید ارائه شود.
نحو زیر برای سازنده gtk استفاده می شود. کلاس ScrolledWindow –
1 |
sw = gtk.ScrolledWindow(hadj, vadj) |
روش های زیر کلاس gtk.ScrolledWindow است –
- ()ScrolledWindow.set_hadjustment – این تنظیم افقی را به یک gtk تنظیم می کند. شیء تنظیم
- ()ScrolledWindow.set_vadjustment – این تنظیم عمودی را به یک gtk تنظیم می کند. شیء تنظیم
- ScrolledWindow.set_Policy (hpolicy، vpolicy) – این ویژگی “hscrollbar_policy” و “vscrollbar_policy” را تنظیم می کند. یکی از ثابتهای از پیش تعریف شده زیر استفاده می شود –
- gtk.POLICY_ALWAYS – نوار پیمایش همیشه وجود دارد
- gtk.POLICY_AUTOMATIC – نوار پیمایش فقط در صورت نیاز وجود دارد، یعنی محتویات بزرگتر از پنجره است
- gtk.POLICY_NEVER – نوار پیمایش هرگز وجود ندارد
- ScrolledWindow.add_with_viewport (child) – این روش برای افزودن یک ویجت (مشخص شده توسط کودک) بدون قابلیت پیمایش بومی به پنجره پیمایش شده استفاده می شود. این یک تابع راحتی است که معادل اضافه کردن فرزند به gtk.Viewport و سپس افزودن نمای نمایش به پنجره پیمایش شده است.
کد زیر یک پنجره پیمایش شده را در اطراف یک شی gtk اضافه می کند. جدول با ابعاد 10 در 10. از آنجا که یک شیء از تنظیمات به طور خودکار پشتیبانی نمی کند ، در یک Viewport اضافه می شود.
1 2 |
sw = gtk.ScrolledWindow() table = gtk.Table(10,10) |
از دو حلقه تو در تو برای افزودن 10 ردیف از 10 ستون استفاده می شود. ویجت gtk.Button در هر سلول قرار می گیرد.
1 2 3 4 5 |
for i in range(1,11): for j in range(1,11): caption = "Btn"+str(j)+str(i) btn = gtk.Button(caption) table.attach(btn, i, i+1, j, j+1) |
این جدول به اندازه کافی بزرگ در حال حاضر در پنجره پیمایش شده همراه با یک نمای نمایش اضافه شده است.
1 |
sw.add_with_viewport(table) |
مثال کلاس ScrolledWindow در 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 |
import gtk class PyApp(gtk.Window): def __init__(self): super(PyApp, self).__init__() self.set_title("ScrolledWindow and Viewport") self.set_size_request(400,300) self.set_position(gtk.WIN_POS_CENTER) sw = gtk.ScrolledWindow() table = gtk.Table(10,10) table.set_row_spacings(10) table.set_col_spacings(10) for i in range(1,11): for j in range(1,11): caption = "Btn"+str(j)+str(i) btn = gtk.Button(caption) table.attach(btn, i, i+1, j, j+1) sw.add_with_viewport(table) self.add(sw) self.connect("destroy", gtk.main_quit) self.show_all() 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
دیدگاه شما