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

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

ویجت مقیاس (Scale) یک شیء گرافیکی ارائه می‌دهد که به شما امکان انتخاب مقادیر از یک مقیاس مشخص را می‌دهد.

سینتکس:

اینجا نحوه نوشتن کد برای ایجاد این ویجت را مشاهده می‌کنید:

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

پارامترها

  • master − این نمایانگر پنجره والد (پنجره اصلی) است.

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

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

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

رنگ پس‌زمینه‌ی موقعیت ماوس هنگامی که بر روی مقیاس قرار می‌گیرد.

2

bg (پس‌زمینه)

رنگ پس‌زمینه‌ی بخش‌های ویجت که خارج از trough هستند.

3

bd (حاشیه‌ی‌سه‌بعدی)

عرض حاشیه‌ی سه‌بعدی اطراف trough و لغزنده (slider). پیش‌فرض ۲ پیکسل است.

4

command (فرمان)

یک رویه که هر بار که لغزنده حرکت می‌کند فراخوانی می‌شود. این رویه یک آرگومان دریافت می‌کند، که مقدار جدید مقیاس است

5

cursor (نشانگر)

اگر این گزینه را به نام یک نشانگر تنظیم کنید (مانند arrow، dot و غیره)، نشانگر ماوس هنگامی که بر روی مقیاس است، به آن الگو تغییر خواهد کرد.

6

digits (اعداد)

طریقه‌ی خواندن برنامه‌ی شما از مقدار کنونی نشان داده شده در یک ویجت مقیاس از طریق یک متغیر کنترلی انجام می‌شود. متغیر کنترلی یک IntVar، DoubleVar (float) یا StringVar می‌تواند باشد. اگر یک متغیر رشته‌ای باشد، گزینه‌ی digits کنترل می‌کند که چند رقم از مقدار عددی مقیاس به یک رشته تبدیل شود.

7

font (قلم)

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

8

fg (رنگ‌متن)

رنگ متن استفاده شده برای برچسب و حاشیه‌نویسی‌ها.

9

from_ (از)

مقداری از نوع اعداد اعشاری یا صحیح که یک طرف از محدوده‌ی مقیاس را تعیین می‌کند.

10

highlightbackground (رنگ‌برجستگی‌زمینه)

رنگ برجستگیِ فوکوس هنگامی که مقیاس فوکوس ندارد.

11

highlightcolor (رنگ‌برجستگی)

رنگ برجستگیِ فوکوس هنگامی که مقیاس فوکوس دارد.

12

label (برچسب)

شما می‌توانید با تنظیم این گزینه به متن برچسب، یک برچسب درون ویجت مقیاس نشان دهید. برچسب در گوشه‌ی بالا و چپ نشان داده می‌شود اگر مقیاس افقی باشد و در گوشه‌ی بالا و راست اگر عمودی باشد. پیش‌فرض بدون برچسب است.

13

length (طول)

طول ویجت مقیاس. این ابعاد x است اگر مقیاس افقی باشد و ابعاد y اگر عمودی باشد. پیش‌فرض ۱۰۰ پیکسل است.

14

orient (جهت)

جهت‌دهی افقی به مقیاس با تنظیم orient=HORIZONTAL، یا جهت‌دهی موازی با محور y با orient=VERTICAL. پیش‌فرض افقی است.

15

relief 

نوع حاشیه‌ای برای حاشیه‌نویسی ظاهریِ حول برچسب. پیش‌فرض FLAT است؛ برای مقادیر دیگر.

16

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

این گزینه کنترل می‌کند که چقدر باید دکمه ۱ نگه داشته شود در آستانه تا زمانی که لغزنده به آرامی در آن جهت حرکت کند. پیش‌فرض repeatdelay=۳۰۰ میلی‌ثانیه است و واحد میلی‌ثانیه است.

17

resolution (وضوح)

معمولاً کاربر تنها قادر به تغییر مقیاس در واحد‌های کلی خواهد بود. برای تغییر کوچکترین گام افزایش یا کاهش مقیاس، این گزینه را به مقدار دیگری تنظیم کنید. برای مثال، اگر از_=۱٫۰ و to=۱٫۰ استفاده کنید و resolution=۰٫۵ تنظیم کنید، مقیاس پنج مقدار ممکن خواهد داشت: -۱٫۰، -۰٫۵، ۰٫۰، +۰٫۵ و +۱٫۰.

18

showvalue (نمایش مقدار)

معمولاً مقدار کنونی مقیاس به صورت متنی توسط لغزنده نشان داده می‌شود (بالای آن برای مقیاس‌های افقی و در چپ آن برای مقیاس‌های عمودی). این گزینه را به ۰ تنظیم کنید تا این برچسب را پنهان کنید.

19

sliderlength (طول لغزنده)

معمولاً طول لغزنده ۳۰ پیکسل است. شما می‌توانید این طول را با تنظیم گزینه‌ی sliderlength به طول موردنظرتان تغییر دهید.

20

state (وضعیت)

معمولاً ویجت‌های مقیاس به رویدادهای موس پاسخ می‌دهند و هنگامی که تمرکز دارند، نیز به رویدادهای صفحه‌کلید. وضعیت=غیرفعال را تنظیم کنید تا ویجت بی‌پاسخ شود.

21

takefocus 

معمولاً تمرکز از طریق ویجت‌های مقیاس می‌گذرد. اگر این گزینه را به ۰ تنظیم کنید، این رفتار را نخواهید داشت.

22

tickinterval (فاصله‌علامت)

برای نمایش ارزش‌های دوره‌ای مقیاس، این گزینه را به یک عدد تنظیم کنید، و علامت‌ها در تعدادی از این مقدار نمایش داده می‌شوند. برای مثال، اگر از_=۰٫۰ و to=۱٫۰ استفاده کنید و tickinterval=۰٫۲۵ تنظیم کنید، برچسب‌ها در طول مقیاس به ارزش‌های ۰٫۰، ۰٫۲۵، ۰٫۵۰، ۰٫۷۵ و ۱٫۰ نمایش داده خواهند شد. این برچسب‌ها در زیر مقیاس نمایش داده می‌شوند اگر افقی باشد و در چپ آن اگر عمودی باشد. پیش‌فرض ۰ است، که نمایش علامت‌ها را کنترل می‌کند.

23

to (تا)

مقداری از نوع اعداد اعشاری یا صحیح که یک طرف از محدوده‌ی مقیاس را تعیین می‌کند؛ طرف دیگر توسط گزینه‌ی from_ تعیین می‌شود که در بالا بحث شد. مقدار to می‌تواند بزرگتر یا کوچکتر از مقدار from_ باشد. برای مقیاس‌های عمودی، مقدار to پایین‌ترین نقطه‌ی مقیاس را تعیین می‌کند؛ برای مقیاس‌های افقی، انتهای راست.

24

troughcolor 

رنگ آستانه (trough).

25

variable (متغیر)

متغیر کنترلی برای این مقیاس، اگر وجود داشته باشد. متغیرهای کنترلی ممکن است از کلاس‌های IntVar، DoubleVar (float) یا StringVar باشند. در حالت StringVar، مقدار عددی به یک رشته تبدیل خواهد شد.

26

width (عرض)

عرض بخش آستانه (trough) از ویجت. این ابعاد x برای مقیاس‌های عمودی و ابعاد y اگر مقیاس orient=HORIZONTAL دارد. پیش‌فرض ۱۵ پیکسل است.

متدها

اشیاء مقیاس (Scale) دارای این روش‌ها هستند:

ردیف روش و توضیح
1

get()

این روش مقدار کنونی مقیاس را بازمی‌گرداند.

2

set (value)

مقدار مقیاس را تنظیم می‌کند.

مثال

می‌توانید مثال زیر را امتحان کنید :

from tkinter import *

def sel():
   selection = "Value = " + str(var.get())
   label.config(text = selection)

root = Tk()
var = DoubleVar()
scale = Scale( root, variable = var )
scale.pack(anchor=CENTER)

button = Button(root, text="Get Scale Value", command=sel)
button.pack(anchor=CENTER)

label = Label(root)
label.pack()

root.mainloop()

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

مقیاس TK