آموزش پایتون - اسکرولبار
این ویجت یک کنترلکننده پیمایش ارائه میدهد که برای پیادهسازی ویجتهای عمودی با اسکرول، مانند Listbox، Text و Canvas، استفاده میشود. توجه داشته باشید که همچنین میتوانید اسکرولبارهای افقی روی ویجتهای Entry نیز ایجاد کنید.
نحوه استفاده
در ادامه، نحو نوشتار برای ایجاد این ویجت آمده است −
w = Scrollbar ( master, option, ... )
پارامترها
-
master − این نماینده پنجره والد را نشان میدهد.
-
options − در اینجا لیستی از گزینههای معمول استفاده شده برای این ویجت آورده شده است.
ردیف | گزینه و توضیحات |
---|---|
1 |
activebackground رنگ اسلایدر و نشانگرها هنگامی که موس روی آنها قرار دارد. |
2 |
bg رنگ اسلایدر و نشانگرها هنگامی که موس روی آنها نیست. |
3 |
bd عرض مرزهای سه بعدی اطراف مجموعهای از گوشهها و همچنین عرض اثرات سه بعدی روی نشانگرها و اسلایدر. مقدار پیشفرض بدون مرز حول مجموعه است و 2 پیکسل مرز حول نشانگرها و اسلایدر است. |
4 |
command یک رویه که هر زمان که اسکرولبار حرکت میکند فراخوانی میشود. |
5 |
cursor نشانگری که زمانی که موس روی اسکرولبار قرار دارد، نمایش داده میشود. |
6 |
elementborderwidth عرض مرزها حول نشانگرها و اسلایدر. مقدار پیشفرض elementborderwidth=-1 است که به این معنی است که از مقدار گزینه borderwidth استفاده شود. |
7 |
highlightbackground رنگ برجستهسازی فوکوس هنگامی که اسکرولبار فوکوس ندارد. |
8 |
highlightcolor رنگ برجستهسازی فوکوس هنگامی که اسکرولبار فوکوس دارد. |
9 |
highlightthickness ضخامت برجستهسازی فوکوس. مقدار پیشفرض 1 است. اگر بخواهید نمایش برجستهسازی فوکوس را کنترل کنید، آن را به 0 تنظیم کنید. |
10 |
jump این گزینه کنترل میکند که وقتی کاربر اسلایدر را کشیده، چه اتفاقی بیفتد. به طور معمول (jump=0)، هر کشیدن کوچک از اسلایدر باعث فراخوانی تابع فراخوانیکننده میشود. اگر این گزینه را به 1 تنظیم کنید، فراخوانیکنندهای صورت نمیگیرد تا زمانی که کاربر دکمه موس را آزاد کند. |
11 |
orient orient=HORIZONTAL را برای اسکرولبار افقی و orient=VERTICAL را برای اسکرولبار عمودی تنظیم کنید. |
12 |
repeatdelay این گزینه کنترل میکند که برای حرکت تکراری اسلایدر به آن سمت، دکمه 1 چه مدت نگهداشته شود. مقدار پیشفرض repeatdelay=300 است و واحد آن میلیثانیه است. |
13 |
repeatinterval دوره تکرار را مشخص می کند |
14 |
takefocus به طور معمول، میتوانید با استفاده از تب، فوکوس را به یک ویجت اسکرولبار انتقال دهید. اگر نمیخواهید این رفتار را داشته باشید، takefocus=0 را تنظیم کنید. |
15 |
troughcolor رنگ مجموعه. |
16 |
width عرض اسکرولبار (بعد y آن اگر افقی و بعد x آن اگر عمودی باشد). مقدار پیشفرض 16 است. |
متدها
اسکرولبار ها دارای این روشها هستند −
ردیف | روش و توضیحات |
---|---|
1 |
get() دو عدد (a، b) را برمیگرداند که موقعیت کنونی اسلایدر را توصیف میکنند. مقدار a موقعیت لبه چپ یا بالا اسلایدر را برای اسکرولبارهای افقی و عمودی به ترتیب مشخص میکند؛ مقدار b موقعیت لبه راست یا پایین را مشخص میکند. |
2 |
set ( first, last ) برای اتصال اسکرولبار به یک ویجت دیگر w، دستور xscrollcommand یا yscrollcommand w را به متد set() اسکرولبار تنظیم کنید. آرگومانها به همان معنی مقادیر برگشتی از متد get() هستند. |
مثال
مثال زیر را امتحان کنید −
from tkinter import *
root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack( side = RIGHT, fill = Y )
mylist = Listbox(root, yscrollcommand = scrollbar.set )
for line in range(100):
mylist.insert(END, "This is line number " + str(line))
mylist.pack( side = LEFT, fill = BOTH )
scrollbar.config( command = mylist.yview )
mainloop()
وقتی کد بالا اجرا میشود، نتیجه زیر تولید میشود −