شنبه ۲۹ دي ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

آموزش پایتون - Spinbox

ویجت Spinbox یک نوع تغییردهنده (Entry) استاندارد tkinter است که می‌توان از آن برای انتخاب از بین تعداد ثابتی از مقادیر استفاده کرد.

نحوه نوشتار

اینجا نحوه نوشتار برای ایجاد این ویجت آمده است −

w = Spinbox( master, option, ... )

پارامترها (Parameters)

  • master (اصلی) − این نمایانگر پنجره‌ی والد (پنجره اصلی) می‌باشد.

  • options (گزینه‌ها) − اینجا لیستی از معمول‌ترین گزینه‌های استفاده شده برای این ویجت آمده است.

ردیف گزینه و توضیح
1

activebackground (زمینه فعال)

رنگ اسلایدر و نشانگرها وقتی موس روی آن‌ها قرار دارد.

2

bg (زمینه)

رنگ اسلایدر و نشانگرها وقتی موس روی آن‌ها نیست.

3

bd (حاشیه 3D)

عرض حاشیه‌های سه‌بعدی اطراف لبه‌های کلیه کادر و همچنین عرض اثرهای سه‌بعدی روی نشانگرها و اسلایدر. پیش‌فرض این است که هیچ حاشیه‌ای اطراف کادر نیست و حاشیه 2 پیکسلی اطراف نشانگرها و اسلایدر وجود دارد.

4

command (فرمان)

یک  متد(procedure) برای فراخوانی هر زمان که اسکرول‌بار حرکت می‌کند.

5

cursor 

نوع نشانگر که ظاهر می‌شود وقتی موس روی اسکرول‌بار است.

6

disabledbackground (زمینه غیرفعال)

رنگ پس‌زمینه‌ای که ویجت غیرفعال است از آن استفاده می‌شود.

7

disabledforeground (متن غیرفعال)

رنگ متنی که ویجت غیرفعال است از آن استفاده می‌شود.

8

fg (رنگ متن)

رنگ متن

9

font (قلم)

قلم مورد استفاده در این ویجت.

10

format (قالب)

رشته‌ی قالب. بدون مقدار پیش‌فرض.

11

from_ (از)

حداقل مقدار. همراه با to برای محدود کردن محدوده‌ی اسپین‌باکس استفاده می‌شود.

12

justify (تراز)

پیش‌فرض LEFT است.

13

relief 

پیش‌فرض SUNKEN است.

14

repeatdelay (تاخیر تکرار)

با همراهی repeatinterval، این گزینه کنترل کننده‌ی تکرار خودکار دکمه‌ها است. هر دو مقدار به میلی‌ثانیه داده می‌شوند.

15

repeatinterval (فاصله تکرار)

مشاهده repeatdelay.

16

state (وضعیت)

یکی از مقادیر NORMAL, DISABLED یا "readonly". پیش‌فرض NORMAL است.

17

textvariable (متغیر متن)

بدون مقدار پیش‌فرض.

18

to (تا)

مشاهده from.

19

validate (اعتبارسنجی)

حالت اعتبارسنجی. پیش‌فرض NONE است.

20

validatecommand (دستور اعتبارسنجی)

تابع بازخورد اعتبارسنجی. بدون مقدار پیش‌فرض.

21

values (مقادیر)

یک تاپل حاوی مقادیر معتبر برای این ویجت. این گزینه از from/to/increment تغییر می‌دهد.

22

vcmd (همانند دستور اعتبارسنجی)

همانند validatecommand.

23

width (پهنا)

عرض ویجت، به واحد کاراکتر. پیش‌فرض 20 است.

24

wrap 

اگر True باشد، دکمه‌های بالا و پایین wrap خواهند شد.

25

xscrollcommand (دستور اسکرول افقی)

استفاده می‌شود برای اتصال فیلد اسپین‌باکس به اسکرول‌بار افقی. این گزینه باید به متد set اسکرول‌بار مربوطه تنظیم شود.

متدها (Methods)

اشیاء اسپین‌باکس دارای این متدها هستند −

ردیف روش‌ها و توضیح
1

delete(startindex [,endindex])

این متد یک کاراکتر خاص یا یک محدوده‌ی متن را حذف می‌کند.

2

get(startindex [,endindex])

این متد یک کاراکتر خاص یا یک محدوده‌ی متن را بازمی‌گرداند.

3

identify(x, y)

عنصر ویجت را در محل داده‌شده شناسایی می‌کند.

4

index(index)

مقدار مطلق یک شاخص را بر اساس شاخص داده‌شده برمی‌گرداند.

5

insert(index [,string]...)

این متد رشته‌ها را در محل شاخص مشخص شده وارد می‌کند.

6

invoke(element)

یک دکمه‌ی اسپین‌باکس را فراخوانی می‌کند.

مثال

مثال زیر را امتحان کنید −

from tkinter import *

master = Tk()

w = Spinbox(master, from_=0, to=10)
w.pack()

mainloop()

هنگام اجرای کد بالا، نتیجه‌ی زیر تولید می‌شود −

اسپین‌باکس TK