tkinter.ttk --- ابزارک‌های دارای پوسته‌ی Tk

کد منبع: Lib/tkinter/ttk.py


ماژول tkinter.ttk دسترسی به مجموعه ابزارک‌های پوسته‌دار Tk را فراهم می‌کند که در Tk 8.5 معرفی شد. ابزارک‌های این ماژول ظاهر خود را با پوسته‌ی بومی سکو تطبیق می‌دهند و به برنامه ظاهر و حسی بهتر و یکدست‌تر از ابزارک‌های کلاسیک tkinter می‌بخشند که ظاهر آن‌ها ثابت است.

ایده‌ی اصلی برای tkinter.ttk این است که، تا حد امکان، کد پیاده‌سازی رفتار یک ابزارک از کد پیاده‌سازی ظاهر آن جدا شود.

ابزارک‌های Ttk دقیقاً مانند ابزارک‌های کلاسیک tkinter استفاده می‌شوند و از همان سازوکار بهره می‌برند: سلسله‌مراتب ابزارک، مدیران هندسه، جفت‌سازی متغیر و اتصال رویداد. آن مفاهیم بنیادی در مستندات tkinter پوشش داده شده‌اند و در اینجا تکرار نشده‌اند.

اضافه شده در نسخه‌ی 3.1.

همچنین ملاحظه نمائید

پشتیبانی از سبک‌دهی ابزارک‌های Tk (TIP #48)

پیشنهاد بهبود Tcl که موتور سبک‌دهی ابزارک‌های پوسته‌دار را معرفی کرد.

استفاده از Ttk

برای شروع استفاده از Ttk، ماژول آن را ایمپورت کنید:

from tkinter import ttk

برای بازنویسی ابزارک‌های پایه‌ی Tk، ایمپورت باید پس از ایمپورت Tk انجام شود:

from tkinter import *
from tkinter.ttk import *

آن کد باعث می‌شود چندین ابزارک tkinter.ttk (Button، Checkbutton، Entry، Frame، Label، LabelFrame، Menubutton، OptionMenu، PanedWindow، Radiobutton، Scale، Scrollbar و Spinbox) به‌طور خودکار جایگزین ابزارک‌های Tk شوند.

توجه

جایگزینی ابزارک‌های کلاسیک با from tkinter.ttk import * برای سازگار کردن کد موجود مناسب است، اما کد جدید معمولاً زمانی واضح‌تر است که ماژول را به‌صورت from tkinter import ttk ایمپورت کند و به ابزارک‌های پوسته‌دار به‌صورت صریح ارجاع دهد، مانند ttk.Button.

این امر مزیت مستقیم استفاده از ابزارک‌های جدید را به همراه دارد و ظاهر و رفتار بهتری در سکوهای مختلف ارائه می‌دهد؛ با این حال، ابزارک‌های جایگزین کاملاً سازگار نیستند. تفاوت اصلی این است که گزینه‌های ابزارک مانند fg، bg و سایر گزینه‌های مربوط به سبک‌دهی ابزارک، دیگر در ابزارک‌های Ttk وجود ندارند. در عوض، برای جلوه‌های سبک‌دهی بهبودیافته از کلاس ttk.Style استفاده کنید.

ابزارک‌های Ttk

Ttk دارای ۱۸ ابزارک است که دوازده‌تا از آن‌ها از قبل در tkinter وجود داشتند: Button، Checkbutton، Entry، Frame، Label، LabelFrame، Menubutton، PanedWindow، Radiobutton، Scale، Scrollbar و Spinbox. شش‌تای دیگر جدید هستند: Combobox، Notebook، Progressbar، Separator، Sizegrip و Treeview. همه‌ی آن‌ها زیرکلاس‌هایی از Widget هستند.

استفاده از ابزارک‌های Ttk، ظاهر و رفتار برنامه را بهبود می‌بخشد. همان‌طور که در بالا بحث شد، تفاوت‌هایی در نحوه کدنویسی سبک‌دهی وجود دارد.

کد Tk:

l1 = tkinter.Label(text="Test", fg="black", bg="white")
l2 = tkinter.Label(text="Test", fg="black", bg="white")

کد Ttk:

style = ttk.Style()
style.configure("BW.TLabel", foreground="black", background="white")

l1 = ttk.Label(text="Test", style="BW.TLabel")
l2 = ttk.Label(text="Test", style="BW.TLabel")

برای اطلاعات بیشتر درباره TtkStyling، مستندات کلاس Style را ببینید.

ابزارک

ttk.Widget گزینه‌ها و متدهای استاندارد پشتیبانی‌شده توسط ابزارک‌های Tk پوسته‌دار را تعریف می‌کند و قرار نیست به‌طور مستقیم نمونه‌سازی شود.

گزینه‌های استاندارد

همه ابزارک‌های ttk گزینه‌های زیر را می‌پذیرند:

گزینه

توضیحات

کلاس

کلاس پنجره را مشخص می‌کند. این کلاس هنگام پرس‌وجو از پایگاه داده‌ی گزینه‌ها (option database) برای سایر گزینه‌های پنجره، برای تعیین برچسب‌های اتصال (bindtags) پیش‌فرض پنجره و انتخاب چیدمان و سبک پیش‌فرض ابزارک استفاده می‌شود. این گزینه فقط‌خواندنی است و تنها در زمان ایجاد پنجره قابل تعیین است.

مکان‌نما

مکان‌نما ماوس مورد استفاده برای ابزارک را مشخص می‌کند. نوع گزینه‌ی cursor را در انواع داده‌ی گزینه‌های Tk ببینید. اگر روی رشته‌ی خالی (پیش‌فرض) تنظیم شود، مکان‌نما از ابزارک والد به ارث می‌رسد.

takefocus

تعیین می‌کند که آیا پنجره در حین پیمایش با صفحه‌کلید فوکوس را می‌پذیرد یا خیر. ۰، ۱ یا یک رشته‌ی خالی برگردانده می‌شود. اگر ۰ برگردانده شود، به این معناست که پنجره باید در حین پیمایش با صفحه‌کلید به‌طور کامل نادیده گرفته شود. اگر ۱ برگردانده شود، به این معناست که پنجره باید تا زمانی که قابل مشاهده است، فوکوس ورودی را دریافت کند. و رشته‌ی خالی به این معناست که اسکریپت‌های پیمایش تصمیم می‌گیرند که آیا فوکوس به پنجره داده شود یا خیر.

سبک

می‌تواند برای تعیین یک سبک سفارشی ابزارک استفاده شود.

گزینه‌های ابزارک پیمایش‌پذیر

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

گزینه

توضیحات

xscrollcommand

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

هنگامی که نمای درون پنجره‌ی ابزارک تغییر می‌کند، ابزارک کال‌بک xscrollcommand را فراخوانی می‌کند.

معمولاً این گزینه شامل متد Scrollbar.set از یک نوار پیمایش است. این باعث می‌شود نوار پیمایش هر زمان که نمای درون پنجره تغییر کند، به‌روزرسانی شود.

yscrollcommand

برای برقراری ارتباط با نوارهای پیمایش عمودی استفاده می‌شود. برای اطلاعات بیشتر، به بالا مراجعه کنید.

گزینه‌های برچسب

گزینه‌های زیر توسط برچسب‌ها، دکمه‌ها و سایر ابزارک‌های دکمه‌مانند پشتیبانی می‌شوند.

گزینه

توضیحات

متن

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

textvariable

نامی را مشخص می‌کند که مقدار آن به‌جای منبع گزینه‌ی متنی استفاده خواهد شد.

زیرخط

در صورت تنظیم، اندیس (مبنای ۰) نویسه‌ای را که باید در رشته‌ی متن زیرخط‌دار شود مشخص می‌کند. نویسه‌ی زیرخط‌دار برای فعال‌سازی یادآور (mnemonic activation) استفاده می‌شود.

تصویر

یک تصویر را برای نمایش مشخص می‌کند. این فهرستی از ۱ یا چند عنصر است. اولین عنصر، نام تصویر پیش‌فرض است. بقیه‌ی فهرست، دنباله‌ای از جفت‌های statespec/value است که توسط Style.map() تعریف شده‌اند و تصاویر مختلفی را برای استفاده در زمانی که ابزارک در یک حالت خاص یا ترکیبی از حالت‌ها قرار دارد، مشخص می‌کنند. همه‌ی تصاویر موجود در فهرست باید هم‌اندازه باشند.

مرکب

نحوه‌ی نمایش تصویر نسبت به متن را در صورتی که هر دو گزینه‌ی متن و تصویر موجود باشند، مشخص می‌کند. مقادیر معتبر عبارتند از:

  • متن: فقط نمایش متن

  • تصویر: نمایش فقط تصویر

  • top، bottom، left، right: تصویر را به‌ترتیب در بالا، پایین، چپ یا راست متن نمایش می‌دهد.

  • none: پیش‌فرض. در صورت وجود تصویر، آن را نمایش می‌دهد، در غیر این صورت، متن را.

عرض

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

گزینه‌های سازگاری

گزینه

توضیحات

وضعیت

می‌توان آن را روی "normal" یا "disabled" تنظیم کرد تا بیت وضعیت "disabled" را کنترل کند. این یک گزینه‌ی فقط‌نوشتنی است: تنظیم آن وضعیت ابزارک را تغییر می‌دهد، اما متد Widget.state() بر این گزینه تأثیری ندارد.

وضعیت‌های ابزارک

وضعیت ابزارک، یک بیت‌مپ از پرچم‌های وضعیت مستقل است.

پرچم

توضیحات

فعال

مکان‌نما ماوس روی ابزارک قرار دارد و فشردن دکمه‌ای از ماوس باعث وقوع عملی می‌شود

غیرفعال

ابزارک تحت کنترل برنامه غیرفعال است

تمرکز

ابزارک دارای فوکوس صفحه‌کلید است

فشرده‌شده

ابزارک در حال فشرده‌شدن است

انتخاب‌شده

"On"، "true" یا "current" برای مواردی مانند Checkbuttons و radiobuttons

پس‌زمینه

ویندوز و مک مفهومی به نام پنجره «فعال» یا پیش‌زمینه دارند. وضعیت پس‌زمینه برای ابزارک‌های موجود در یک پنجره پس‌زمینه تنظیم می‌شود و برای ابزارک‌های موجود در پنجره پیش‌زمینه پاک می‌شود

فقط خواندنی

ابزارک نباید به کاربر اجازه‌ی تغییر بدهد

جایگزین

یک قالب نمایش جایگزین مختص ابزارک

نامعتبر

مقدار ابزارک نامعتبر است

یک مشخصه وضعیت، دنباله‌ای از نام‌های وضعیت است که به‌صورت اختیاری با یک علامت تعجب پیشوند داده می‌شود و نشان می‌دهد بیت خاموش است.

ttk.Widget

علاوه بر متدهای توصیف‌شده در زیر، ttk.Widget از متدهای tkinter.Widget.cget و tkinter.Widget.configure پشتیبانی می‌کند.

class tkinter.ttk.Widget
identify(x, y)

نام المان در موقعیت x y را برمی‌گرداند، یا اگر نقطه درون هیچ المانی قرار نداشته باشد، رشته خالی را برمی‌گرداند.

x و y مختصات پیکسلی نسبت به ابزارک هستند.

instate(statespec, callback=None, *args, **kw)

وضعیت ابزارک را آزمایش می‌کند. اگر کال‌بکی مشخص نشده باشد، در صورتی که وضعیت ابزارک با statespec مطابقت داشته باشد True و در غیر این صورت False برمی‌گرداند. اگر کال‌بکی مشخص شده باشد، در صورتی که وضعیت ابزارک با statespec مطابقت داشته باشد، با آرگومان‌ها فراخوانی می‌شود.

state(statespec=None)

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

نباید با Wm.state اشتباه گرفته شود.

statespec معمولاً یک فهرست یا تاپل است.

جعبه انتخاب (Combobox)

ابزارک ttk.Combobox یک فیلد متنی را با فهرستی بازشونده از مقادیر ترکیب می‌کند. این ابزارک زیرکلاسی از Entry است.

علاوه بر متدهایی که از Widget به ارث رسیده‌اند: cget()، configure()، identify()، instate() و state()، و متدهای زیر که از Entry به ارث رسیده‌اند: bbox()، delete()، icursor()، index()، insert()، selection*، xview*، متدهای دیگری نیز دارد که در ttk.Combobox توضیح داده شده‌اند.

گزینه‌ها

این ابزارک گزینه‌های خاص زیر را می‌پذیرد:

گزینه

توضیحات

exportselection

مقدار بولی. اگر تنظیم شود، انتخاب ابزارک به انتخاب X پیوند می‌خورد (که برای مثال می‌توان با فراخوانی Misc.selection_get آن را برگرداند).

هم‌تراز

مشخص می‌کند که متن چگونه درون ابزارک تراز می‌شود. یکی از "left"، "center" یا "right".

ارتفاع

ارتفاع جعبه‌فهرست بازشو را بر حسب ردیف مشخص می‌کند.

postcommand

اسکریپتی (که ممکن است با Misc.register ثبت‌شده باشد) که بلافاصله پیش از نمایش مقدارها فراخوانی می‌شود. این اسکریپت می‌تواند مشخص کند کدام مقدارها نمایش داده شوند.

وضعیت

یکی از "normal"، "readonly" یا "disabled". در حالت "readonly"، نمی‌توان مقدار را مستقیماً ویرایش کرد و کاربر فقط می‌تواند یکی از مقدارها را از فهرست بازشو انتخاب کند. در حالت "normal"، فیلد متنی مستقیماً قابل ویرایش است. در حالت "disabled"، هیچ تعاملی ممکن نیست.

textvariable

نامی را مشخص می‌کند که مقدار آن به مقدار ابزارک پیوند داده شده است. هر زمان که مقدار مرتبط با آن نام تغییر کند، مقدار ابزارک به‌روزرسانی می‌شود و برعکس. tkinter.StringVar را ببینید.

مقادیر

فهرست مقادیر را برای نمایش در جعبه‌فهرست بازشو مشخص می‌کند.

عرض

مقدار عدد صحیحی را مشخص می‌کند که عرض دلخواه پنجره ورودی را بر حسب نویسه‌های با اندازه متوسط قلم ابزارک نشان می‌دهد.

توجه

Tk 9.1 گزینه‌ی locale را افزود، که locale مورد استفاده برای تعیین مرزهای واژه‌ای و نویسه‌ای درون متن را انتخاب می‌کند (به‌طور پیش‌فرض "C").

رویدادهای مجازی

ابزارک جعبه انتخاب هنگامی که کاربر عنصری را از فهرست مقادیر انتخاب می‌کند، یک رویداد مجازی <<ComboboxSelected>> را تولید می‌کند.

ttk.Combobox

class tkinter.ttk.Combobox
current(newindex=None)

اگر newindex مشخص شده باشد، مقدار جعبه انتخاب را روی عنصر در موقعیت newindex تنظیم می‌کند. در غیر این صورت، اندیس مقدار فعلی یا -۱ را در صورتی که مقدار فعلی در فهرست مقادیر نباشد، برمی‌گرداند.

get()

مقدار فعلی جعبه انتخاب را برمی‌گرداند.

set(value)

مقدار جعبه انتخاب را روی value تنظیم می‌کند.

اسپین‌باکس (Spinbox)

ابزارک ttk.Spinbox یک ttk.Entry است که با پیکان‌های افزایش و کاهش تقویت‌شده است. می‌توان از آن برای اعداد یا فهرست‌هایی از مقادیر رشته‌ای استفاده کرد. این ابزارک یک کلاس فرعی از Entry است. علاوه بر متدهایی که از Widget به ارث رسیده‌اند: cget()، configure()، identify()، instate() و state()، و متدهای زیر که از Entry به ارث رسیده‌اند: bbox()، delete()، icursor()، index()، insert()، xview*، این ابزارک متدهای دیگری نیز دارد که در ttk.Spinbox توضیح داده شده‌اند.

گزینه‌ها

این ابزارک گزینه‌های خاص زیر را می‌پذیرد:

گزینه

توضیحات

از

مقدار شناور. اگر تنظیم شود، این حداقل مقداری است که دکمه کاهش، مقدار را تا آن کاهش می‌دهد. هنگام استفاده به‌عنوان آرگومان، باید به‌صورت from_ نوشته شود، زیرا from یک کلیدواژه پایتون است.

به

مقدار اعشاری. اگر تنظیم شده باشد، این حداکثر مقداری است که دکمه افزایش، مقدار را تا آن افزایش می‌دهد.

افزایش

مقدار شناور. میزانی را مشخص می‌کند که دکمه‌های افزایش/کاهش، مقدار را با آن تغییر می‌دهند. پیش‌فرض آن ۱.۰ است.

مقادیر

دنباله‌ای از مقادیر رشته یا اعشاری. در صورت تعیین شدن، دکمه‌های افزایش/کاهش به جای افزایش یا کاهش اعداد، به‌صورت چرخه‌ای بین آیتم‌های این دنباله جابه‌جا می‌شوند.

دربرگرفتن

مقدار بولی. اگر True باشد، دکمه‌های افزایش و کاهش به‌ترتیب به‌صورت چرخشی از مقدار to به مقدار from یا از مقدار from به مقدار to جابه‌جا می‌شوند.

قالب

مقدار رشته‌ای. این مقدار قالب اعدادی را که با دکمه‌های افزایش/کاهش تنظیم می‌شوند مشخص می‌کند. این مقدار باید به شکل "%W.Pf" باشد، که در آن W عرض مقدار با پرکننده، P دقت، و '%' و 'f' نویسه‌های لفظی هستند.

فرمان

فراخوانی‌پذیر پایتون. هرگاه یکی از دکمه‌های افزایش یا کاهش فشرده شود، بدون آرگومان فراخوانی خواهد شد.

رویدادهای مجازی

ابزارک اسپین‌باکس هنگامی که کاربر <Up> را فشار می‌دهد، یک رویداد مجازی <<Increment>> و هنگامی که کاربر <Down> را فشار می‌دهد، یک رویداد مجازی <<Decrement>> تولید می‌کند.

ttk.Spinbox

class tkinter.ttk.Spinbox

در صورت استفاده از مقدار افزایش غیر عدد صحیح، مقادیر عددی و locale را ببینید.

اضافه شده در نسخه‌ی 3.8.

get()

مقدار فعلی اسپین‌باکس را برمی‌گرداند.

set(value)

مقدار اسپین‌باکس را روی value تنظیم می‌کند.

نوت‌بوک

ابزارک Ttk Notebook مجموعه‌ای از پنجره‌ها را مدیریت می‌کند و در هر زمان فقط یکی را نمایش می‌دهد. هر پنجره‌ی فرزند با یک زبانه مرتبط است که کاربر می‌تواند آن را برای تغییر پنجره‌ی در حال نمایش انتخاب کند.

گزینه‌ها

این ابزارک گزینه‌های خاص زیر را می‌پذیرد:

گزینه

توضیحات

ارتفاع

در صورت وجود و بزرگ‌تر بودن از صفر، ارتفاع مطلوب ناحیه‌ی بخش را تعیین می‌کند (بدون احتساب فاصله‌گذاری داخلی یا زبانه‌ها). در غیر این صورت، از بیشینه‌ی ارتفاع همه‌ی بخش‌ها استفاده می‌شود.

پرکننده (padding)

مقدار فضای اضافی را که باید به اطراف بیرونی notebook اضافه شود، مشخص می‌کند. فاصله‌گذاری (padding) فهرستی از حداکثر چهار مشخصه‌ی طول برای چپ، بالا، راست و پایین است. اگر کمتر از چهار عنصر مشخص شود، پایین به‌طور پیش‌فرض مقدار بالا، راست مقدار چپ، و بالا مقدار چپ را می‌گیرد.

عرض

اگر موجود و بزرگ‌تر از صفر باشد، عرض مطلوب ناحیه‌ی بخش (pane) را مشخص می‌کند (بدون احتساب فاصله‌گذاری داخلی). در غیر این صورت، حداکثر عرض همه‌ی بخش‌ها استفاده می‌شود.

گزینه‌های زبانه

برای تب‌ها نیز گزینه‌های ویژه‌ای وجود دارد:

گزینه

توضیحات

وضعیت

یکی از "normal"، "disabled" یا "hidden". اگر "disabled" باشد، زبانه قابل انتخاب نیست. اگر "hidden" باشد، زبانه نمایش داده نمی‌شود.

چسبان

نحوه‌ی قرارگیری پنجره‌ی فرزند درون ناحیه‌ی بخش را مشخص می‌کند. مقدار آن رشته‌ای است که شامل صفر یا چند نویسه از میان "n"، "s"، "e" یا "w" است. هر حرف به یک ضلع (شمال، جنوب، شرق یا غرب) اشاره دارد که پنجره‌ی فرزند، مطابق مدیر چیدمان grid، به آن می‌چسبد.

پرکننده (padding)

مقدار فضای اضافی را که باید بین نوت‌بوک (notebook) و این بخش افزوده شود، مشخص می‌کند. سینتکس آن همانند گزینه‌ی padding است که این ابزارک از آن استفاده می‌کند.

متن

متنی را برای نمایش در زبانه تعیین می‌کند.

تصویر

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

مرکب

نحوه‌ی نمایش تصویر نسبت به متن را در صورتی که هر دو گزینه‌ی متن و تصویر موجود باشند، مشخص می‌کند. برای مقادیر مجاز، Label Options را ببینید.

زیرخط

اندیس (مبنای ۰) نویسه‌ای را که باید در رشته‌ی متن زیرخط‌دار شود، مشخص می‌کند. اگر Notebook.enable_traversal() فراخوانی شود، نویسه‌ی زیرخط‌دار برای فعال‌سازی یادآور (mnemonic) استفاده می‌شود.

شناسه‌های زبانه

tab_id موجود در چندین متدِ ttk.Notebook می‌تواند هر یک از شکل‌های زیر را داشته باشد:

  • یک عدد صحیح بین ۰ و تعداد تب‌ها

  • نام یک پنجره‌ی فرزند

  • یک مشخصه‌ی جایگاهی به شکل «@x,y»، که زبانه را شناسایی می‌کند

  • رشته‌ی لفظی "current"، که زبانه‌ی انتخاب‌شده‌ی کنونی را مشخص می‌کند

  • رشته‌ی لفظی "end"، که تعداد زبانه‌ها را برمی‌گرداند (فقط برای Notebook.index() معتبر است)

رویدادهای مجازی

این ابزارک پس از انتخاب یک زبانه‌ی جدید، رویداد مجازی <<NotebookTabChanged>> را تولید می‌کند.

ttk.Notebook

class tkinter.ttk.Notebook
add(child, **kw)

یک زبانه‌ی جدید به نوت‌بوک اضافه می‌کند.

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

برای دیدن فهرست گزینه‌های موجود، Tab Options را ببینید.

forget(tab_id)

زبانه‌ی مشخص‌شده با tab_id را حذف می‌کند و پنجره‌ی مرتبط را از نگاشت و مدیریت خارج می‌کند.

این متد، forget() موروثیِ مدیر چیدمان را می‌پوشاند؛ برای حذف خود ابزارک از مدیر آن، از pack_forget()، grid_forget() یا place_forget() استفاده کنید.

hide(tab_id)

زبانه‌ی مشخص‌شده با tab_id را پنهان می‌کند.

زبانه نمایش داده نخواهد شد، اما پنجره‌ی مرتبط همچنان توسط نوت‌بوک مدیریت می‌شود و پیکربندی آن به خاطر سپرده می‌شود. زبانه‌های مخفی را می‌توان با دستور add() بازیابی کرد.

identify(x, y)

نام عنصر تب را در موقعیت x، y برمی‌گرداند، یا اگر هیچ عنصری وجود نداشته باشد، رشته‌ی خالی را برمی‌گرداند.

index(tab_id)

اندیس عددی زبانه‌ی مشخص‌شده با tab_id را برمی‌گرداند، یا اگر tab_id رشته‌ی "end" باشد، تعداد کل زبانه‌ها را برمی‌گرداند.

insert(pos, child, **kw)

یک بخش را در موقعیت مشخص‌شده درج می‌کند.

pos یکی از این موارد است: رشته‌ی "end"، یک اندیس عدد صحیح، یا نام یک فرزند مدیریت‌شده. اگر child از قبل تحت مدیریت نوت‌بوک باشد، آن را به جایگاه مشخص‌شده جابه‌جا می‌کند.

برای دیدن فهرست گزینه‌های موجود، Tab Options را ببینید.

select(tab_id=None)

tab_id مشخص‌شده را انتخاب می‌کند.

پنجره فرزند مرتبط نمایش داده خواهد شد، و پنجره انتخاب‌شده پیشین (در صورت متفاوت بودن) از نمایش برداشته می‌شود. اگر tab_id ذکر نشود، نام ابزارک بخش انتخاب‌شده کنونی را برمی‌گرداند.

tab(tab_id, option=None, **kw)

گزینه‌های مربوط به tab_id مشخص را پرس‌وجو یا تغییر دهید.

اگر kw داده نشود، یک دیکشنری از مقادیر گزینه‌های زبانه را برمی‌گرداند. اگر option مشخص شده باشد، مقدار آن option را برمی‌گرداند. در غیر این صورت، گزینه‌ها را روی مقادیر متناظر تنظیم می‌کند.

tabs()

تاپلی از پنجره‌های تحت مدیریت نوت‌بوک را برمی‌گرداند.

enable_traversal()

فعال‌سازی پیمایش با صفحه‌کلید برای یک پنجره‌ی سطح بالا که حاوی این دفترچه است.

این کار اتصال‌های پنجره‌ی سطح بالا حاوی notebook را به‌صورت زیر گسترش می‌دهد:

  • Control-Tab: زبانه‌ی پس از زبانه‌ی انتخاب‌شده‌ی کنونی را انتخاب می‌کند.

  • Shift-Control-Tab: زبانه‌ی پیش از زبانه‌ی انتخاب‌شده‌ی کنونی را انتخاب می‌کند.

  • Alt-K: که در آن K نویسه‌ی یادآور (mnemonic) و زیرخط‌دار هر زبانه است، آن زبانه را انتخاب می‌کند.

می‌توان چندین نوت‌بوک را در یک سطح بالا واحد برای پیمایش (traversal) فعال کرد، از جمله نوت‌بوک‌های تودرتو. با این حال، پیمایش نوت‌بوک تنها در صورتی به‌درستی کار می‌کند که همه بخش‌ها (panes) فرزندان مستقیم نوت‌بوک باشند.

نوار پیشرفت

ابزارک ttk.Progressbar وضعیت یک عملیات طولانی‌مدت را نشان می‌دهد. این ابزارک می‌تواند در دو حالت کار کند: ۱) حالت مشخص که مقدار تکمیل‌شده را نسبت به کل مقدار کاری که باید انجام شود نشان می‌دهد و ۲) حالت نامشخص که نمایشی متحرک ارائه می‌کند تا کاربر بداند کار در حال پیشرفت است.

گزینه‌ها

این ابزارک گزینه‌های خاص زیر را می‌پذیرد:

گزینه

توضیحات

جهت‌دهی

یکی از «horizontal» یا «vertical». جهت نوار پیشرفت را مشخص می‌کند.

طول

طول محور بلند نوار پیشرفت را مشخص می‌کند (عرض در حالت افقی، ارتفاع در حالت عمودی).

حالت

یکی از «determinate» یا «indeterminate».

بیشینه

عددی که حداکثر مقدار را مشخص می‌کند. پیش‌فرض آن ۱۰۰ است.

مقدار

مقدار فعلی نوار پیشرفت. در حالت «تعیین‌شده»، این مقدار نشان‌دهنده‌ی میزان کار انجام‌شده است. در حالت «تعیین‌نشده»، به‌صورت باقی‌مانده‌ی تقسیم بر maximum تفسیر می‌شود؛ یعنی نوار پیشرفت هنگامی که مقدار آن به اندازه‌ی maximum افزایش یابد، یک «چرخه» را کامل می‌کند.

متغیر

نامی که به مقدار گزینه پیوند دارد. اگر مشخص شود، مقدار نوار پیشرفت به‌طور خودکار هر زمان که این نام تغییر کند، به مقدار آن تنظیم می‌شود.

مرحله

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

ttk.Progressbar

class tkinter.ttk.Progressbar
start(interval=None)

آغاز حالت افزایش خودکار (autoincrement): یک رویداد زمان‌سنج دوره‌ای را زمان‌بندی می‌کند که Progressbar.step() را هر interval میلی‌ثانیه فراخوانی می‌کند. در صورت حذف، interval به‌طور پیش‌فرض ۵۰ میلی‌ثانیه است.

step(amount=None)

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

در صورت حذف، amount به‌طور پیش‌فرض 1.0 خواهد بود.

stop()

توقف حالت افزایش خودکار: هر رویداد زمان‌سنج تکرارشونده‌ای را که توسط Progressbar.start() برای این نوار پیشرفت آغاز شده باشد، لغو می‌کند.

جداکننده

ابزارک ttk.Separator یک نوار جداکننده افقی یا عمودی را نمایش می‌دهد.

هیچ متد دیگری به جز متدهایی که از ttk.Widget به ارث برده است، ندارد.

گزینه‌ها

این ابزارک گزینه‌ی مشخص زیر را می‌پذیرد:

گزینه

توضیحات

جهت‌دهی

یکی از «horizontal» یا «vertical». جهت جداکننده را مشخص می‌کند.

دسته تغییر اندازه (Sizegrip)

ابزارک ttk.Sizegrip (که با نام جعبه‌ی رشد (grow box) نیز شناخته می‌شود) به کاربر امکان می‌دهد با فشار دادن و کشیدن دسته، اندازه‌ی پنجره‌ی سطح بالای حاوی آن را تغییر دهد.

این ابزارک نه گزینه‌های خاصی دارد و نه متدهای خاصی، به‌جز آن‌هایی که از ttk.Widget به ارث برده است.

نکات خاص پلتفرم

  • در macOS، پنجره‌های سطح بالا به‌طور پیش‌فرض به‌صورت خودکار شامل یک دسته‌ی تغییر اندازه‌ی توکار هستند. افزودن یک Sizegrip بی‌ضرر است، زیرا دسته‌ی توکار فقط ابزارک را می‌پوشاند.

اشکال‌ها

  • اگر موقعیت پنجره‌ی سطح بالای حاوی آن نسبت به سمت راست یا پایین صفحه‌نمایش مشخص شده باشد (برای مثال، ....)، ابزارک Sizegrip اندازه‌ی پنجره را تغییر نخواهد داد.

  • این ابزارک فقط از تغییر اندازه در جهت «جنوب‌شرقی» پشتیبانی می‌کند.

نمای درختی (Treeview)

ابزارک ttk.Treeview مجموعه‌ای سلسله‌مراتبی از آیتم‌ها را نمایش می‌دهد. هر آیتم دارای یک برچسب متنی، یک تصویر اختیاری و یک فهرست اختیاری از مقادیر داده است. مقادیر داده در ستون‌های متوالی پس از برچسب درخت نمایش داده می‌شوند.

ترتیب نمایش مقادیر داده را می‌توان با تنظیم گزینه‌ی displaycolumns ابزارک کنترل کرد. ابزارک درختی همچنین می‌تواند عنوان ستون‌ها را نمایش دهد. می‌توان به ستون‌ها از طریق شماره یا نام‌های نمادین فهرست‌شده در گزینه‌ی columns ابزارک دسترسی داشت. به Column Identifiers مراجعه کنید.

هر آیتم با یک نام یکتا مشخص می‌شود. اگر شناسه‌های آیتم توسط فراخواننده ارائه نشده باشند، ابزارک آن‌ها را تولید خواهد کرد. یک آیتم ریشه‌ی متمایز با نام {} وجود دارد. خود آیتم ریشه نمایش داده نمی‌شود؛ فرزندان آن در بالاترین سطح سلسله‌مراتب نمایش داده می‌شوند.

هر آیتم همچنین دارای فهرستی از برچسب‌ها است که می‌توان از آن‌ها برای مرتبط کردن اتصال‌های رویداد با آیتم‌های منفرد و کنترل ظاهر آیتم استفاده کرد.

ابزارک Treeview از پیمایش افقی و عمودی پشتیبانی می‌کند، بر اساس گزینه‌های توصیف‌شده در Scrollable Widget Options و متدهای Treeview.xview() و Treeview.yview().

گزینه‌ها

این ابزارک گزینه‌های خاص زیر را می‌پذیرد:

گزینه

توضیحات

columns

فهرستی از شناسه‌های ستون، که تعداد ستون‌ها و نام‌های آن‌ها را مشخص می‌کند.

displaycolumns

فهرستی از شناسه‌های ستون (یا شناسه‌های نمادین یا اندیس‌های عدد صحیح) که مشخص می‌کند کدام ستون‌های داده نمایش داده می‌شوند و ترتیبی که با آن ظاهر می‌شوند، یا رشته "#all".

ارتفاع

تعداد ردیفهایی را که باید قابل مشاهده باشند، مشخص می‌کند. توجه: عرض درخواست‌شده از مجموع عرض ستون‌ها تعیین می‌شود.

پرکننده (padding)

فاصله‌گذاری داخلی ابزارک را مشخص می‌کند. فاصله‌گذاری فهرستی از حداکثر چهار مشخصه‌ی طول است.

selectmode

تعیین می‌کند که اتصال‌های کلاس توکار چگونه انتخاب را مدیریت کنند. یکی از "extended"، "browse" یا "none" است. اگر روی "extended" (پیش‌فرض) تنظیم شود، می‌توان چند آیتم را انتخاب کرد. اگر "browse" باشد، در هر زمان فقط یک آیتم انتخاب خواهد شد. اگر "none" باشد، انتخاب تغییر نخواهد کرد.

توجه داشته باشید که کد برنامه و اتصال‌های برچسب (tag bindings) می‌توانند انتخاب را به هر شکلی که بخواهند تنظیم کنند، صرف‌نظر از مقدار این گزینه.

show

فهرستی شامل صفر یا چند مقدار از مقادیر زیر، که مشخص می‌کند کدام‌یک از عناصر درخت نمایش داده شوند.

  • tree: نمایش برچسب‌های درخت در ستون #0.

  • headings: نمایش ردیف سرآیند.

پیش‌فرض "tree headings" است، یعنی تمام المان‌ها نمایش داده می‌شوند.

توجه: ستون #0 همیشه به ستون درختی اشاره می‌کند، حتی اگر show="tree" تعیین نشده باشد.

توجه

Tk 9.0 چندین ویژگی برای Treeview افزود. گزینه‌ی selectmode دارای مقادیر "single" و "multiple" شد؛ گزینه‌های جدید ابزارک یعنی selecttype (انتخاب "item" یا "cell"striped (ردیف‌های راه‌راه گورخری) و titlecolumns / titleitems (ستون‌ها یا ردیف‌های ثابت هنگام پیمایش) معرفی شدند؛ گزینه‌ی separator برای ستون افزوده شد؛ و آیتم‌ها دارای یک گزینه‌ی hidden شدند. Tk 9.1 گزینه‌های rowheight و headingheight را افزود.

گزینه‌های آیتم

می‌توان گزینه‌های آیتم زیر را برای آیتم‌ها در دستورات ابزارک insert و item مشخص کرد.

گزینه

توضیحات

متن

برچسب متنی که برای آیتم نمایش داده می‌شود.

تصویر

یک تصویر Tk، که در سمت چپ برچسب نمایش داده می‌شود.

مقادیر

فهرست مقادیر مرتبط با آیتم.

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

open

مقدار True/False که نشان می‌دهد فرزندان آیتم باید نمایش داده شوند یا پنهان شوند.

tags

فهرستی از برچسب‌های مرتبط با این آیتم.

گزینه‌های برچسب

می‌توان گزینه‌های زیر را روی برچسب‌ها مشخص کرد:

گزینه

توضیحات

foreground

رنگ پیش‌زمینه‌ی متن را مشخص می‌کند.

پس‌زمینه

رنگ پس‌زمینه‌ی سلول یا آیتم را مشخص می‌کند.

font

قلم مورد استفاده هنگام ترسیم متن را مشخص می‌کند.

تصویر

تصویر آیتم را مشخص می‌کند، در صورتی که گزینه‌ی تصویر آیتم خالی باشد.

شناسه‌های ستون

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

  • یک نام نمادین از گزینه‌ی فهرست ستون‌ها.

  • یک عدد صحیح n، که n-امین ستون داده را مشخص می‌کند.

  • رشته‌ای به شکل #n، که n یک عدد صحیح است و nاُمین ستون نمایش را مشخص می‌کند.

یادداشت‌ها:

  • ممکن است مقادیر گزینه‌های آیتم به ترتیبی متفاوت از ترتیبی که در آن ذخیره‌شده‌اند نمایش داده شوند.

  • ستون #0 همیشه به ستون درختی اشاره می‌کند، حتی اگر show="tree" مشخص نشده باشد.

شماره‌ی ستون داده، اندیسی به فهرست مقادیر گزینه‌های یک آیتم است؛ شماره‌ی ستون نمایشی، شماره‌ی ستونی در درخت است که مقادیر در آن نمایش داده می‌شوند. برچسب‌های درخت در ستون #0 نمایش داده می‌شوند. اگر گزینه‌ی displaycolumns تنظیم نشده باشد، ستون داده‌ی n در ستون #n+1 نمایش داده می‌شود. باز هم، ستون #0 همیشه به ستون درخت اشاره می‌کند.

رویدادهای مجازی

ابزارک Treeview رویدادهای مجازی زیر را تولید می‌کند.

رویداد

توضیحات

<<TreeviewSelect>>

هر زمان که انتخاب تغییر کند، تولید می‌شود.

<<TreeviewOpen>>

درست پیش از تنظیم آیتم فوکوس به open=True تولید می‌شود.

<<TreeviewClose>>

بلافاصله پس از تنظیم آیتم فوکوس به open=False تولید می‌شود.

می‌توان از متدهای Treeview.focus() و Treeview.selection() برای تعیین آیتم یا آیتم‌های تحت‌تأثیر استفاده کرد.

ttk.Treeview

class tkinter.ttk.Treeview
bbox(item, column=None)

جعبه‌ی محدودکننده‌ی آیتم مشخص‌شده را (نسبت به پنجره‌ی ابزارک treeview) در قالب (x, y, width, height) برمی‌گرداند.

اگر column مشخص شده باشد، جعبه‌ی محدودکننده (bounding box) آن سلول را برمی‌گرداند. اگر item قابل مشاهده نباشد (یعنی نواده‌ی یک آیتم بسته باشد یا به بیرون از صفحه اسکرول شده باشد)، یک رشته‌ی خالی برمی‌گرداند.

این، Misc.bbox() موروثی را می‌پوشاند؛ برای جعبه محدودکننده شبکه از grid_bbox() استفاده کنید.

get_children(item=None)

یک تاپل از فرزندانِ متعلق به item برمی‌گرداند.

اگر item مشخص نشده باشد، فرزندان ریشه را برمی‌گرداند.

set_children(item, *newchildren)

فرزندان item را با newchildren جایگزین می‌کند.

فرزندانی که در item وجود دارند اما در newchildren وجود ندارند، از درخت جدا می‌شوند. هیچ‌یک از آیتم‌های درون newchildren نباید نیا آیتم item باشد. توجه داشته باشید که مشخص نکردن newchildren منجر به جدا شدن فرزندان item می‌شود.

column(column, option=None, **kw)

گزینه‌های ستون مشخص‌شده را بازخوانی یا تغییر دهید.

اگر kw داده نشده باشد، یک دیکشنری از مقادیر گزینه‌های ستون را برمی‌گرداند. اگر option مشخص شده باشد، مقدار آن option برگردانده می‌شود. در غیر این صورت، گزینه‌ها را روی مقادیر متناظر تنظیم می‌کند.

گزینه‌ها/مقادیر معتبر عبارتند از:

id

نام ستون را برمی‌گرداند. این گزینه فقط‌خواندنی است.

anchor: یکی از مقادیر استاندارد anchor در Tk.

مشخص می‌کند که متن این ستون چگونه باید نسبت به سلول تراز شود.

minwidth: عرض

حداقل عرض ستون بر حسب پیکسل. هنگامی که اندازه ابزارک تغییر کند یا کاربر ستونی را بکشد، ابزارک treeview ستون را کوچک‌تر از مقدار مشخص‌شده توسط این گزینه نمی‌کند.

separator: True/False

مشخص می‌کند که آیا جداکننده‌ی ستون باید در سمت راست ستون رسم شود یا خیر.

stretch: True/False

مشخص می‌کند که آیا عرض ستون باید هنگام تغییر اندازه‌ی ابزارک تنظیم شود یا خیر.

width: عرض

عرض ستون بر حسب پیکسل.

برای پیکربندی ستون درخت، این را با column = "#0" فراخوانی کنید.

delete(*items)

تمام آیتم‌های مشخص‌شده و همه‌ی زیرمجموعه‌های آن‌ها را حذف کنید.

آیتم ریشه را نمی‌توان حذف کرد.

detach(*items)

پیوند تمام آیتم‌های مشخص‌شده را از درخت جدا می‌کند.

آیتم‌ها و همه‌ی زیرمجموعه‌های آن‌ها همچنان موجود هستند و می‌توانند در نقطه‌ی دیگری از درخت دوباره درج شوند، اما نمایش داده نخواهند شد.

آیتم ریشه را نمی‌توان جدا کرد.

exists(item)

اگر آیتم مشخص‌شده در درخت موجود باشد، True و در غیر این صورت False را برمی‌گرداند.

focus(item=None)

اگر item مشخص شده باشد، آیتم فوکوس را روی item تنظیم می‌کند. در غیر این صورت، آیتم فوکوس جاری را برمی‌گرداند، یا اگر هیچ آیتمی وجود نداشته باشد '' را برمی‌گرداند.

این، Misc.focus() ارث‌بری‌شده را می‌پوشاند؛ برای قرار دادن تمرکز روی خود ابزارک، از focus_set() استفاده کنید.

heading(column, option=None, **kw)

گزینه‌های سرستون برای column مشخص‌شده را بخوانید یا تغییر دهید.

اگر kw داده نشود، یک دیکشنری از مقادیر گزینه‌های عنوان برمی‌گرداند. اگر option مشخص شده باشد، مقدار آن option برگردانده می‌شود. در غیر این صورت، گزینه‌ها را روی مقادیر متناظر تنظیم می‌کند.

گزینه‌ها/مقادیر معتبر عبارتند از:

text: متن

متنی که در عنوان ستون نمایش داده می‌شود.

image: imageName

تصویری را برای نمایش در سمت راست عنوان ستون مشخص می‌کند.

anchor: لنگر

مشخص می‌کند که متن عنوان باید چگونه تراز شود. یکی از مقادیر استاندارد لنگر در Tk است.

command: کال‌بک

یک کال‌بک که هنگام فشرده شدن برچسب عنوان فراخوانی می‌شود.

برای پیکربندی عنوان ستون درخت، این را با column = "#0" فراخوانی کنید.

identify(component, x, y)

توضیحی از کامپوننت مشخص‌شده در زیر نقطه‌ای که با x و y داده شده است برمی‌گرداند، یا اگر چنین کامپوننتی در آن موقعیت وجود نداشته باشد، رشته خالی را برمی‌گرداند.

identify_row(y)

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

identify_column(x)

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

ستون درخت دارای شناسه #0 است.

identify_region(x, y)

یکی از موارد زیر را برمی‌گرداند:

ناحیه

معنی

heading

ناحیه سرآیند درخت.

separator

فاصله میان دو عنوان ستون.

tree

ناحیه‌ی درخت.

cell

یک سلول داده.

دسترس‌پذیری: Tk 8.6.

identify_element(x, y)

عنصر در موقعیت x، y را برمی‌گرداند.

دسترس‌پذیری: Tk 8.6.

index(item)

اندیس عدد صحیح item را در فهرست فرزندان والدش برمی‌گرداند.

insert(parent, index, iid=None, **kw)

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

parent شناسه‌ی آیتم والد است، یا رشته‌ی خالی برای ایجاد یک آیتم سطح‌بالای جدید. index یک عدد صحیح است، یا مقدار "end"، و مشخص می‌کند که آیتم جدید در کجای فهرست فرزندان والد درج شود. اگر index کمتر یا مساوی ۰ باشد، گره جدید در ابتدا درج می‌شود؛ اگر index بزرگ‌تر یا مساوی تعداد فعلی فرزندان باشد، در انتها درج می‌شود. اگر iid مشخص شده باشد، به‌عنوان شناسه‌ی آیتم استفاده می‌شود؛ iid نباید از قبل در درخت وجود داشته باشد. در غیر این صورت، یک شناسه‌ی یکتای جدید تولید می‌شود.

برای دیدن فهرست گزینه‌های موجود، Item Options را ببینید.

item(item, option=None, **kw)

گزینه‌ها را برای آیتم مشخص‌شده پرس‌وجو یا تغییر دهید.

اگر هیچ گزینه‌ای داده نشود، یک دیکشنری شامل گزینه‌ها/مقادیر آیتم بازگردانده می‌شود. اگر option مشخص شده باشد، مقدار آن گزینه بازگردانده می‌شود. در غیر این صورت، گزینه‌ها به مقادیر متناظری که توسط kw داده شده‌اند تنظیم می‌شوند.

move(item, parent, index)

item را به جایگاه index در فهرست فرزندان parent منتقل می‌کند.

جابه‌جایی یک آیتم به زیر یکی از نوادگان آن غیرمجاز است. اگر index کوچک‌تر یا مساوی صفر باشد، item به ابتدا منتقل می‌شود؛ اگر بزرگ‌تر یا مساوی تعداد فرزندان باشد، به انتها منتقل می‌شود. اگر item جداشده باشد، دوباره متصل می‌شود.

reattach() نام مستعار move() است.

next(item)

شناسه‌ی خواهر بعدی item را بازمی‌گرداند، یا اگر item آخرین فرزند والد خود باشد '' را بازمی‌گرداند.

parent(item)

شناسه‌ی والد item را برمی‌گرداند، یا اگر item در بالاترین سطح سلسله‌مراتب باشد، '' را برمی‌گرداند.

prev(item)

شناسه‌ی هم‌سطح قبلی item را برمی‌گرداند، یا اگر item اولین فرزند والد خود باشد، '' برمی‌گرداند.

see(item)

اطمینان حاصل کنید که item قابل مشاهده است.

گزینه‌ی open را برای تمام نیاکان item روی True تنظیم می‌کند و در صورت لزوم، ابزارک را پیمایش می‌کند تا item در بخش قابل‌مشاهده‌ی درخت قرار گیرد.

selection()

یک تاپل از آیتم‌های انتخاب‌شده را برمی‌گرداند.

تغییر یافته در نسخه‌ی 3.8: selection() دیگر آرگومان نمی‌پذیرد. برای تغییر وضعیت انتخاب، از متدهای انتخاب زیر استفاده کنید.

selection_set(*items)

items به انتخاب جدید تبدیل می‌شود.

تغییر یافته در نسخه‌ی 3.6: items را می‌توان به‌صورت آرگومان‌های جداگانه ارسال کرد، نه فقط به‌عنوان یک تاپل واحد.

selection_add(*items)

items را به انتخاب اضافه کنید.

تغییر یافته در نسخه‌ی 3.6: items را می‌توان به‌صورت آرگومان‌های جداگانه ارسال کرد، نه فقط به‌عنوان یک تاپل واحد.

selection_remove(*items)

آیتم‌ها را از انتخاب حذف کنید.

تغییر یافته در نسخه‌ی 3.6: items را می‌توان به‌صورت آرگومان‌های جداگانه ارسال کرد، نه فقط به‌عنوان یک تاپل واحد.

selection_toggle(*items)

وضعیت انتخاب هر یک از آیتم‌های items را تغییر دهید.

تغییر یافته در نسخه‌ی 3.6: items را می‌توان به‌صورت آرگومان‌های جداگانه ارسال کرد، نه فقط به‌عنوان یک تاپل واحد.

set(item, column=None, value=None)

با ۱ آرگومان، یک دیکشنری از جفت‌های ستون/مقدار برای آیتم مشخص‌شده برمی‌گرداند. با ۲ آرگومان، مقدار فعلی ستون مشخص‌شده را برمی‌گرداند. با ۳ آرگومان، مقدار ستون داده‌شده در آیتم داده‌شده را به مقدار مشخص‌شده تنظیم می‌کند.

tag_bind(tagname, sequence=None, callback=None)

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

tag_configure(tagname, option=None, **kw)

گزینه‌های tagname مشخص‌شده را بخوانید یا تغییر دهید.

اگر kw داده نشود، یک دیکشنری از تنظیمات گزینه‌ها را برای tagname برمی‌گرداند. اگر option مشخص شده باشد، مقدار آن option را برای tagname مشخص‌شده برمی‌گرداند. در غیر این صورت، گزینه‌ها را روی مقادیر متناظر برای tagname داده‌شده تنظیم می‌کند.

tag_has(tagname, item=None)

اگر item مشخص شده باشد، در صورتی که item مشخص‌شده tagname داده‌شده را داشته باشد، True و در غیر این صورت False برمی‌گرداند. در غیر این صورت، یک تاپل از تمام آیتم‌هایی که برچسب مشخص‌شده را دارند برمی‌گرداند.

دسترس‌پذیری: Tk 8.6

xview(*args)

موقعیت افقی نمای درختی (treeview) را بپرسید یا تغییر دهید.

yview(*args)

موقعیت عمودی treeview را پرس‌وجو کنید یا تغییر دهید.

سبک‌دهی Ttk

به هر ابزارک در ttk یک سبک اختصاص داده می‌شود که مجموعه‌ی المان‌های تشکیل‌دهنده‌ی ابزارک و نحوه‌ی چیدمان آن‌ها را به‌همراه تنظیمات پویا و پیش‌فرض برای گزینه‌های المان‌ها مشخص می‌کند. به‌طور پیش‌فرض، نام سبک همان نام کلاس ابزارک است، اما ممکن است توسط گزینه‌ی style ابزارک بازنویسی شود. اگر نام کلاس یک ابزارک را نمی‌دانید، از متد Misc.winfo_class (somewidget.winfo_class()) استفاده کنید.

همچنین ملاحظه نمائید

آشنایی با موتور تم Tk

صفحه man مربوط به ttk::intro توضیح می‌دهد که موتور پوسته چگونه کار می‌کند.

مجموعه‌ی ابزارک Tile

مقاله‌ی جو انگلیش در سال ۲۰۰۴ که موتور پوسته (theme engine) را معرفی می‌کرد (در آن زمان، افزونه‌ی جداگانه‌ی Tile)، به همراه نمودارهایی از این‌که عناصر و چیدمان‌ها چگونه ظاهر یک ابزارک را تشکیل می‌دهند.

class tkinter.ttk.Style

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

configure(style, query_opt=None, **kw)

مقدار پیش‌فرض گزینه(های) مشخص‌شده در style را بخوانید یا تنظیم کنید.

هر کلید در kw یک گزینه است و هر مقدار، رشته‌ای است که مقدار آن گزینه را مشخص می‌کند.

برای مثال، برای تبدیل هر دکمه پیش‌فرض به دکمه‌ای تخت با کمی فاصله داخلی و رنگ پس‌زمینه متفاوت:

from tkinter import ttk
import tkinter

root = tkinter.Tk()

ttk.Style().configure("TButton", padding=6, relief="flat",
   background="#ccc")

btn = ttk.Button(text="Sample")
btn.pack()

root.mainloop()
map(style, query_opt=None, **kw)

مقادیر پویای گزینه(های) مشخص‌شده در style را بازخوانی یا تنظیم می‌کند.

هر کلید در kw یک گزینه است و هر مقدار باید (معمولاً) یک فهرست یا تاپل حاوی مشخصه‌های وضعیت (statespecs) باشد که در تاپل‌ها، فهرست‌ها یا ترجیحی دیگر گروه‌بندی شده‌اند. یک مشخصه وضعیت (statespec) ترکیبی از یک یا چند وضعیت و سپس یک مقدار است.

یک مثال ممکن است آن را قابل‌فهم‌تر کند:

import tkinter
from tkinter import ttk

root = tkinter.Tk()

style = ttk.Style()
style.map("C.TButton",
    foreground=[('pressed', 'red'), ('active', 'blue')],
    background=[('pressed', '!disabled', 'black'), ('active', 'white')]
    )

colored_btn = ttk.Button(text="Test", style="C.TButton").pack()

root.mainloop()

توجه داشته باشید که ترتیب دنباله‌های (حالت‌ها، مقدار) برای یک گزینه اهمیت دارد؛ برای مثال، اگر ترتیب در گزینه‌ی foreground به [('active', 'blue'), ('pressed', 'red')] تغییر کند، زمانی که ابزارک در حالت‌های active یا pressed باشد، نتیجه پیش‌زمینه‌ای آبی خواهد بود.

هنگامی که برای پرس‌وجوی نگاشت فراخوانی شود (بدون مشخص کردن مقادیر برای تنظیم)، یک دیکشنری برمی‌گرداند که هر گزینه را به فهرست مشخصات وضعیت (statespecs) مربوط به آن نگاشت می‌کند.

تغییر یافته در نسخه‌ی 3.10: مقدار برگردانده‌شده هنگام پرس‌وجو از map اصلاح شد.

lookup(style, option, state=None, default=None)

مقدار تعیین‌شده برای option در style را برمی‌گرداند.

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

برای بررسی اینکه یک Button به‌طور پیش‌فرض از چه فونتی استفاده می‌کند:

from tkinter import ttk

print(ttk.Style().lookup("TButton", "font"))
layout(style, layoutspec=None)

چیدمان ابزارک برای style داده‌شده را تعریف می‌کند. اگر layoutspec حذف شود، مشخصات چیدمان برای style داده‌شده را برمی‌گرداند.

layoutspec، در صورت مشخص شدن، انتظار می‌رود یک فهرست یا نوع دیگری از دنباله (به‌جز رشته‌ها) باشد، که هر آیتم باید یک تاپل باشد، آیتم اول نام چیدمان است و آیتم دوم باید دارای قالب توصیف‌شده در Layouts باشد.

برای درک قالب، مثال زیر را ببینید (هدف آن انجام کار مفیدی نیست):

from tkinter import ttk
import tkinter

root = tkinter.Tk()

style = ttk.Style()
style.layout("TMenubutton", [
   ("Menubutton.background", None),
   ("Menubutton.button", {"children":
       [("Menubutton.focus", {"children":
           [("Menubutton.padding", {"children":
               [("Menubutton.label", {"side": "left", "expand": 1})]
           })]
       })]
   }),
])

mbtn = ttk.Menubutton(text='Text')
mbtn.pack()
root.mainloop()
element_create(elementname, etype, *args, **kw)

یک عنصر جدید در پوسته فعلی ایجاد کنید، از etype داده‌شده که انتظار می‌رود یکی از "image"، "from" یا "vsapi" باشد. مورد آخر فقط در Tk 8.6 در ویندوز در دسترس است.

اگر از "image" استفاده شود، args باید شامل نام تصویر پیش‌فرض و پس از آن جفت‌های statespec/value باشد (این imagespec است)، و kw می‌تواند گزینه‌های زیر را داشته باشد:

border=padding

فاصله داخلی (padding) فهرستی از حداکثر چهار عدد صحیح است که به‌ترتیب حاشیه‌های چپ، بالا، راست و پایین را مشخص می‌کند.

height=height

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

padding=padding

فاصله‌ی داخلی (padding) المان را مشخص می‌کند. اگر مشخص نشده باشد، به‌طور پیش‌فرض مقدار حاشیه (border) را می‌گیرد.

sticky=spec

مشخص می‌کند که تصویر چگونه درون قطعه نهایی (parcel) قرار می‌گیرد. spec شامل صفر یا چند نویسه "n"، "s"، "w" یا "e" است.

width=width

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

مثال:

img1 = tkinter.PhotoImage(master=root, file='button.png')
img1 = tkinter.PhotoImage(master=root, file='button-pressed.png')
img1 = tkinter.PhotoImage(master=root, file='button-active.png')
style = ttk.Style(root)
style.element_create('Button.button', 'image',
                     img1, ('pressed', img2), ('active', img3),
                     border=(2, 4), sticky='we')

اگر "from" به‌عنوان مقدار etype استفاده شود، element_create() یک المان موجود را رونوشت می‌کند. انتظار می‌رود args شامل یک نام تم باشد که المان از آن رونوشت می‌شود، و به‌صورت اختیاری شامل المانی باشد که از آن رونوشت می‌شود. اگر این المانی که از آن رونوشت می‌شود مشخص نشده باشد، از یک المان خالی استفاده خواهد شد. kw نادیده گرفته می‌شود.

مثال:

style = ttk.Style(root)
style.element_create('plain.background', 'from', 'default')

اگر از "vsapi" به‌عنوان مقدار etype استفاده شود، element_create() المانی جدید در پوسته‌ی جاری ایجاد می‌کند که ظاهر بصری آن با استفاده از Microsoft Visual Styles API، که مسئول سبک‌های پوسته‌ای در Windows XP و Vista است، ترسیم می‌شود. انتظار می‌رود args شامل کلاس و بخش Visual Styles، همان‌طور که در مستندات مایکروسافت آمده است، و به‌دنبال آن‌ها دنباله‌ای اختیاری از تاپل‌های شامل وضعیت‌های ttk و مقدار وضعیت متناظر Visual Styles API باشد. kw می‌تواند گزینه‌های زیر را داشته باشد:

padding=padding

فاصله‌ی داخلی المان را مشخص کنید. padding فهرستی از حداکثر ۴ عدد صحیح است که به‌ترتیب مقادیر فاصله‌ی داخلی چپ، بالا، راست و پایین را مشخص می‌کند. اگر کمتر از ۴ عنصر مشخص شده باشد، مقدار پیش‌فرض پایین برابر با بالا، راست برابر با چپ، و بالا برابر با چپ خواهد بود. به عبارت دیگر، فهرستی از ۳ عدد، فاصله‌ی داخلی چپ، عمودی و راست را مشخص می‌کند؛ فهرستی از ۲ عدد، فاصله‌ی داخلی افقی و عمودی را مشخص می‌کند؛ و یک عدد، فاصله‌ی داخلی یکسانی را در تمام اطراف ابزارک مشخص می‌کند. این گزینه را نمی‌توان با هیچ گزینه‌ی دیگری ترکیب کرد.

margins=padding

فاصله بیرونی (padding) المان را مشخص می‌کند. padding فهرستی از حداکثر چهار عدد صحیح است که به‌ترتیب مقادیر فاصله بیرونی چپ، بالا، راست و پایین را مشخص می‌کند. این گزینه نمی‌تواند با هیچ گزینه دیگری ترکیب شود.

width=width

عرض المان را مشخص می‌کند. اگر این گزینه تنظیم شده باشد، از Visual Styles API برای اندازه توصیه‌شده یا بخش پرس‌وجو نخواهد شد. اگر این گزینه تنظیم شده باشد، height نیز باید تنظیم شود. گزینه‌های width و height را نمی‌توان با گزینه‌های padding یا margins ترکیب کرد.

height=height

ارتفاع المان را مشخص می‌کند. برای width به توضیحات مراجعه کنید.

مثال:

style = ttk.Style(root)
style.element_create('pin', 'vsapi', 'EXPLORERBAR', 3, [
                     ('pressed', '!selected', 3),
                     ('active', '!selected', 2),
                     ('pressed', 'selected', 6),
                     ('active', 'selected', 5),
                     ('selected', 4),
                     ('', 1)])
style.layout('Explorer.Pin',
             [('Explorer.Pin.pin', {'sticky': 'news'})])
pin = ttk.Checkbutton(style='Explorer.Pin')
pin.pack(expand=True, fill='both')

تغییر یافته در نسخه‌ی 3.13: پشتیبانی از کارخانه‌ی المان "vsapi" افزوده شد.

element_names()

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

element_options(elementname)

یک تاپل از گزینه‌های elementname را برمی‌گرداند.

theme_create(themename, parent=None, settings=None)

یک پوسته جدید ایجاد کنید.

اگر themename از قبل وجود داشته باشد، خطا محسوب می‌شود. اگر parent تعیین شده باشد، پوسته‌ی جدید سبک‌ها، عناصر و چیدمان‌ها را از پوسته‌ی والد به ارث می‌برد. اگر settings موجود باشند، انتظار می‌رود که همان نحوی را داشته باشند که برای theme_settings() استفاده می‌شود.

theme_settings(themename, settings)

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

هر کلید در settings یک سبک است و هر مقدار ممکن است شامل کلیدهای 'configure'، 'map'، 'layout' و 'element create' باشد و انتظار می‌رود آن‌ها به ترتیب همان قالب مشخص‌شده توسط متدهای Style.configure()، Style.map()، Style.layout() و Style.element_create() را داشته باشند.

به‌عنوان مثال، بیایید Combobox را برای پوسته‌ی پیش‌فرض کمی تغییر دهیم:

from tkinter import ttk
import tkinter

root = tkinter.Tk()

style = ttk.Style()
style.theme_settings("default", {
   "TCombobox": {
       "configure": {"padding": 5},
       "map": {
           "background": [("active", "green2"),
                          ("!disabled", "green4")],
           "fieldbackground": [("!disabled", "green3")],
           "foreground": [("focus", "OliveDrab1"),
                          ("!disabled", "OliveDrab2")]
       }
   }
})

combo = ttk.Combobox().pack()

root.mainloop()
theme_names()

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

theme_use(themename=None)

اگر themename داده نشود، پوسته‌ی در حال استفاده را برمی‌گرداند. در غیر این صورت، پوسته‌ی فعلی را روی themename تنظیم می‌کند، همه‌ی ابزارک‌ها را تازه‌سازی می‌کند و یک رویداد <<ThemeChanged>> منتشر می‌کند.

چیدمان‌ها

یک چیدمان می‌تواند صرفاً None باشد، اگر گزینه‌ای نمی‌پذیرد، یا یک دیکشنری از گزینه‌ها باشد که نحوه‌ی چیدمان المان را مشخص می‌کند. سازوکار چیدمان از یک نسخه‌ی ساده‌شده‌ی مدیر هندسی pack استفاده می‌کند: با فرض یک حفره‌ی اولیه، به هر المان یک قطعه تخصیص داده می‌شود.

گزینه‌ها/مقادیر معتبر عبارتند از:

سمت: کدام سمت

مشخص می‌کند که المان در کدام سمت حفره قرار گیرد؛ یکی از top، right، bottom یا left. اگر حذف شود، المان کل حفره را اشغال می‌کند.

sticky: nswe

مشخص می‌کند که المان درون قطعه‌ی تخصیص‌یافته‌ی خود کجا قرار می‌گیرد.

unit: ۰ یا ۱

اگر روی ۱ تنظیم شود، باعث می‌شود المان و همه زیرمجموعه‌های آن برای مقاصد Widget.identify() و متدهای مشابه، به‌عنوان یک المان واحد در نظر گرفته شوند. این گزینه برای مواردی مانند انگشتی‌های نوار پیمایش (scrollbar thumbs) دارای دسته استفاده می‌شود.

children: [sublayout... ]

فهرستی از المان‌ها را برای قرار دادن درون المان مشخص می‌کند. هر المان یک تاپل (یا نوع دنباله‌ای دیگر) است که نخستین آیتم آن نام چیدمان است و دومی یک Layout است.

ابزارک‌های اضافی

ابزارک‌های پوسته‌دار زیر، مجموعه ابزارک‌های tkinter.ttk را کامل می‌کنند. هر یک همتای پوسته‌دار ابزارک کلاسیک هم‌نام در tkinter است و متدهای مشترک Widget را به ارث می‌برد.

class tkinter.ttk.Button(master=None, **kw)

ابزارک Button در Ttk، یک برچسب متنی و/یا تصویر را نمایش می‌دهد و هنگام فشرده شدن، یک فرمان را ارزیابی می‌کند. این ابزارک، همتای پوسته‌دار tkinter.Button است و متدهای رایج ابزارک‌ها را از Widget به ارث می‌برد.

invoke()

فرمان مرتبط با دکمه را فراخوانی می‌کند و نتیجه‌ی آن را برمی‌گرداند.

class tkinter.ttk.Checkbutton(master=None, **kw)

ابزارک Checkbutton در Ttk، برای کنترل یک متغیر بولی استفاده می‌شود که بین حالت روشن و خاموش تغییر وضعیت می‌دهد. این ابزارک، همتای پوسته‌دار tkinter.Checkbutton است و متدهای رایج ابزارک‌ها را از Widget به ارث می‌برد.

invoke()

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

class tkinter.ttk.Entry(master=None, widget=None, **kw)

ابزارک Entry در Ttk، یک رشته متنی یک‌خطی را نمایش می‌دهد و به کاربر امکان ویرایش آن را می‌دهد. این ابزارک، همتای پوسته‌دار tkinter.Entry است و متدهای رایج ابزارک را از Widget و همچنین متدهای ویرایشی را از tkinter.Entry به ارث می‌برد.

bbox(index)

یک تاپل (x, y, width, height) برمی‌گرداند که جعبه محدودکننده (bounding box) نویسه در اندیس داده‌شده را می‌دهد.

این، Misc.bbox() موروثی را می‌پوشاند؛ برای جعبه محدودکننده شبکه از grid_bbox() استفاده کنید.

identify(x, y)

نام عنصری که در زیر نقطه مشخص‌شده با x و y قرار دارد را برمی‌گرداند، یا رشته خالی اگر هیچ عنصری در آن موقعیت وجود نداشته باشد.

validate()

اعتبارسنجی ورودی را اجباری می‌کند و در صورت موفقیت‌آمیز بودن اعتبارسنجی، True و در غیر این صورت False برمی‌گرداند.

class tkinter.ttk.Frame(master=None, **kw)

ابزارک Frame در Ttk، یک ظرف است که برای گروه‌بندی و چیدمان سایر ابزارک‌ها استفاده می‌شود. این ابزارک، همتای پوسته‌دار tkinter.Frame است و متدهای مشترک ابزارک‌ها را از Widget به ارث می‌برد.

class tkinter.ttk.Label(master=None, **kw)

ابزارک Label در Ttk، یک برچسب متنی و/یا تصویر را نمایش می‌دهد. این ابزارک همتای تم‌دار tkinter.Label است و متدهای رایج ابزارک‌ها را از Widget به ارث می‌برد.

class tkinter.ttk.Labelframe(master=None, **kw)

ابزارک Ttk Labelframe، ظرفی است که دور محتوای خود یک کادر و یک برچسب عنوان ترسیم می‌کند. این ابزارک همتای تم‌دارِ tkinter.LabelFrame است و متدهای رایج ابزارک را از Widget به ارث می‌برد.

class tkinter.ttk.Menubutton(master=None, **kw)

ابزارک Menubutton در Ttk، یک برچسب متنی و/یا تصویر را نمایش می‌دهد و هنگامی که فشرده می‌شود، یک منو را به‌صورت بازشو ظاهر می‌کند. این ابزارک، همتای پوسته‌دار tkinter.Menubutton است و متدهای رایج ابزارک را از Widget به ارث می‌برد.

class tkinter.ttk.OptionMenu(master, variable, default=None, *values, **kwargs)

ابزارک OptionMenu در Ttk، یک Menubutton است که منویی از گزینه‌های انحصاری متقابل را به‌صورت بازشو نمایش می‌دهد. variable متغیری است که مقدار انتخاب‌شده‌ی فعلی را پیگیری می‌کند، default مقداری است که در ابتدا تنظیم می‌شود، و values آیتم‌هایی هستند که در منو نمایش داده می‌شوند. می‌توان یک آرگومان کلیدواژه‌ای command را برای مشخص کردن یک شیء فراخوانی‌پذیر ارائه کرد که هر زمان انتخاب تغییر کند، با مقدار انتخاب‌شده فراخوانی می‌شود؛ آرگومان کلیدواژه‌ای style سبک مورد استفاده در menubutton زیربنایی را تنظیم می‌کند؛ آرگومان کلیدواژه‌ای direction محل نمایش منو نسبت به menubutton را تنظیم می‌کند (یکی از 'above'، 'below' (پیش‌فرض)، 'left'، 'right' یا 'flush')؛ و آرگومان کلیدواژه‌ای name نام ابزارک Tk را تنظیم می‌کند.

set_menu(default=None, *values)

آیتم‌های منو را با values جایگزین کنید. اگر default داده شده باشد، آن را به‌عنوان مقدار فعلی variable نیز تنظیم کنید.

destroy()

این ابزارک و منوی مرتبط با آن را نابود می‌کند.

تغییر یافته در نسخه‌ی 3.14: پشتیبانی از آرگومان کلیدواژه‌ای name افزوده شد.

class tkinter.ttk.Panedwindow(master=None, **kw)

ابزارک Ttk Panedwindow، تعدادی زیرپنجره را نمایش می‌دهد که به‌صورت عمودی یا افقی روی هم چیده شده‌اند. کاربر می‌تواند اندازه‌های نسبی زیرپنجره‌ها را با کشیدن نوار جداکننده (sash) بین پنجره‌ها تنظیم کند. این ابزارک، همتای تم‌دار tkinter.PanedWindow است و متدهای رایج ابزارک را از Widget و همچنین متدهای add() و panes() را از tkinter.PanedWindow به ارث می‌برد.

insert(pos, child, **kw)

یک بخش حاوی child را در موقعیت pos درج کنید. pos می‌تواند رشته‌ی 'end'، یک اندیس عدد صحیح، یا نام یک زیرپنجره‌ی مدیریت‌شده باشد. اگر child از قبل توسط پنجره‌ی چندقاب (paned window) مدیریت شده باشد، آن را به موقعیت مشخص‌شده منتقل کنید. هر آرگومان کلیدواژه‌ای، گزینه‌های بخش را تنظیم می‌کند.

forget(child)

حذف child، که می‌تواند یک اندیس عدد صحیح یا نام یک زیرپنجره‌ی مدیریت‌شده باشد، از بخش‌ها.

این متد، forget() موروثیِ مدیر چیدمان را می‌پوشاند؛ برای حذف خود ابزارک از مدیر آن، از pack_forget()، grid_forget() یا place_forget() استفاده کنید.

pane(pane, option=None, **kw)

گزینه‌های pane مشخص‌شده را پرس‌وجو می‌کند یا تغییر می‌دهد؛ pane یا یک اندیس عدد صحیحی است یا نام یک زیرپنجره‌ی مدیریت‌شده. اگر هیچ آرگومانی داده نشود، یک دیکشنری از مقادیر گزینه‌های pane برمی‌گرداند. اگر option مشخص شده باشد، مقدار آن گزینه را برمی‌گرداند. در غیر این صورت، گزینه‌های داده‌شده به‌صورت آرگومان‌های کلیدواژه‌ای را روی مقادیر متناظرشان تنظیم می‌کند.

sashpos(index, newpos=None)

اگر newpos مشخص شده باشد، موقعیت نوار جداکننده با شماره‌ی index را تنظیم می‌کند و موقعیت جدید آن را برمی‌گرداند. این کار ممکن است موقعیت نوارهای جداکننده مجاور را تنظیم کند تا اطمینان حاصل شود که موقعیت‌ها به‌صورت یک‌نواخت افزایشی هستند؛ همچنین موقعیت‌ها محدود شده‌اند که بین ۰ و اندازه‌ی کل ابزارک باشند. اگر newpos حذف شده باشد، موقعیت فعلی نوار جداکننده را برمی‌گرداند.

class tkinter.ttk.Radiobutton(master=None, **kw)

ابزارک Radiobutton در Ttk، به‌عنوان بخشی از یک گروه برای کنترل یک متغیر مشترک واحد با انتخاب یکی از چند مقدار متقابلاً انحصاری استفاده می‌شود. این ابزارک همتای دارای تمِ tkinter.Radiobutton است و متدهای رایج ابزارک را از Widget به ارث می‌برد.

invoke()

متغیر گزینه را روی مقدار دکمه تنظیم کنید، دکمه را انتخاب کنید، فرمان مرتبط با دکمه را فراخوانی کنید و نتیجه‌ی آن را برگردانید.

class tkinter.ttk.Scale(master=None, **kw)

ابزارک Scale در Ttk، لغزنده‌ای را نمایش می‌دهد که به کاربر امکان می‌دهد با حرکت لغزنده در طول یک شیار، یک مقدار عددی از یک محدوده را انتخاب کند. این ابزارک، همتای پوسته‌دار tkinter.Scale است و متدهای رایج ابزارک را از Widget به ارث می‌برد.

configure(cnf=None, **kw)

تغییر یا پرس‌وجوی گزینه‌های ابزارک، مانند Widget.configure. علاوه بر این، این متد مقادیر from و to را محدود می‌کند تا مقدار فعلی در محدوده‌ی تعریف‌شده توسط آن‌ها باقی بماند.

تغییر یافته در نسخه‌ی 3.9: اکنون مقدار پیکربندی را برمی‌گرداند، مانند Widget.configure.

get(x=None, y=None)

مقدار فعلی مقیاس را برمی‌گرداند. اگر x و y داده شده باشند، در عوض مقدار متناظر با مختصات پیکسلی x، y را برمی‌گرداند.

class tkinter.ttk.Scrollbar(master=None, **kw)

ابزارک Scrollbar در Ttk، دریچه دید (viewport) یک ابزارک پیمایش‌پذیر مرتبط مانند Treeview، Entry یا tkinter.Text را کنترل می‌کند. این ابزارک، همتای پوسته‌دار tkinter.Scrollbar است و متدهای مشترک ابزارک‌ها را از Widget و همچنین متدهای set() و get() را از tkinter.Scrollbar به ارث می‌برد.

class tkinter.ttk.Separator(master=None, **kw)

ابزارک Separator در Ttk، یک خط جداکننده افقی یا عمودی را نمایش می‌دهد. این ابزارک معادل مستقیمی در tkinter ندارد و متدهای رایج ابزارک‌ها را از Widget به ارث می‌برد.

class tkinter.ttk.Sizegrip(master=None, **kw)

ابزارک Sizegrip در Ttk، دسته‌ای را نمایش می‌دهد که به کاربر اجازه می‌دهد با فشار دادن و کشیدن آن دسته، اندازه‌ی پنجره‌ی سطح بالای حاوی آن را تغییر دهد؛ این دسته معمولاً در گوشه‌ی پایین سمت راست قرار می‌گیرد. این ابزارک معادل مستقیمی در tkinter ندارد و متدهای رایج ابزارک‌ها را از Widget به ارث می‌برد.

class tkinter.ttk.LabeledScale(master=None, variable=None, from_=0, to=10, **kw)

یک Frame شامل یک Scale و یک Label است که مقدار فعلی مقیاس را نشان می‌دهد. variable همان IntVar است که مقیاس آن را پیگیری می‌کند (اگر داده نشود، یکی ایجاد می‌شود)، و from_ و to بازه‌ی مقیاس را مشخص می‌کنند.

destroy()

این ابزارک را نابود می‌کند و کال‌بک ردگیری (trace callback) ثبت‌شده روی متغیر مرتبط را حذف می‌کند.

class tkinter.ttk.LabelFrame(master=None, **kw)

نام مستعار Labelframe، که برای سازگاری نام‌گذاری با tkinter.LabelFrame نگه داشته شده است.

class tkinter.ttk.PanedWindow(master=None, **kw)

نام مستعاری از Panedwindow، که برای سازگاری نام‌گذاری با tkinter.PanedWindow حفظ شده است.