آموزش پایتون - Radiobutton
این ویجت یک دکمه چند گزینهای پیادهسازی میکند، که به کاربر امکان انتخاب یکی از چندین گزینه را میدهد و او را قادر به انتخاب تنها یکی از آنها میکند.برای پیادهسازی این عملکرد، هر گروه ازRadiobuttonها باید به یک متغیر مرتبط شود و هر یک از دکمهها باید یک مقدار را نمایان کند. شما میتوانید از کلید تب برای تغییر از یک Radiobutton به دیگری استفاده کنید.
نحوه استفاده
در ادامه، کد برای ایجاد این ویجت آورده شده است:
w = Radiobutton ( master, option, ... )
پارامترها
-
master − این نماینده پنجره والد میباشد.
-
options − در اینجا لیستی از گزینههای معمول استفادهشده برای این ویجت آورده شدهاست
شماره | گزینه و توضیحات |
---|---|
1 |
activebackground رنگ پسزمینه هنگامی که ماوس بر روی رادیوباتن قرار میگیرد. |
2 |
activeforeground رنگ متن هنگامی که ماوس بر روی رادیوباتن قرار میگیرد. |
3 |
anchor اگر ویجت در فضای بزرگتری از نیاز خود قرار دارد، این گزینه مشخص میکند که رادیوباتن در آن فضا کجا قرار میگیرد. پیشفرض anchor=CENTER است. |
4 |
bg رنگ پسزمینه معمولی پشت نشانگر و برچسب. |
5 |
bitmap برای نمایش تصویر بیتمپ در یک رادیوباتن، این گزینه را به یک نشانگر تنظیم کنید. |
6 |
borderwidth اندازه حاشیه اطراف بخش نشانگر خود. پیشفرض ۲ پیکسل است. |
7 |
command فرآیندی که هر بار کاربر وضعیت این رادیوباتن را تغییر میدهد، فراخوانی میشود. |
8 |
cursor اگر این گزینه را به نام یک نشانگر تنظیم کنید (arrow، dot و غیره)، ماوس هنگامی که بر روی رادیوباتن است، به آن الگو تغییر خواهد کرد. |
9 |
font فونت استفاده شده برای متن. |
10 |
fg رنگ استفاده شده برای نمایش متن. |
11 |
height تعداد خطوط (نه پیکسلها) متن در رادیوباتن. پیشفرض ۱ است. |
12 |
highlightbackground رنگ برجسته سازی فوکوس هنگامی که رادیوباتن فوکوس ندارد. |
13 |
highlightcolor رنگ برجسته سازی فوکوس هنگامی که رادیوباتن فوکوس دارد. |
14 |
image برای نمایش یک تصویر گرافیکی به جای متن برای این رادیوباتن، این گزینه را به یک شیء تصویر تنظیم کنید. |
15 |
justify اگر متن شامل چند خط باشد، این گزینه کنترل میکند چگونه متن به چپ، وسط یا راست تراز میشود: CENTER (پیشفرض)، LEFT یا RIGHT. |
16 |
padx فضایی که باید از چپ و راست رادیوباتن و متن خالی بماند. پیشفرض ۱ است. |
17 |
pady فضایی که باید بالا و پایین رادیوباتن و متن خالی بماند. پیشفرض ۱ است. |
18 |
relief نوع حاشیه تزئینی حول برچسب. پیشفرض FLAT است؛ برای مقادیر دیگر. |
19 |
selectcolor رنگ رادیوباتن هنگامی که تنظیم میشود. پیشفرض قرمز است. |
20 |
selectimage اگر از گزینه تصویر برای نمایش یک گرافیک به جای متن هنگامی که رادیوباتن خالی است، استفاده میکنید، میتوانید گزینه selectimage را به یک تصویر دیگر تنظیم کنید که هنگامی که رادیوباتن تنظیم شده است، نمایش داده میشود. |
21 |
state پیشفرض state=NORMAL است، اما میتوانید state=DISABLED را تنظیم کنید تا کنترل را خاموش کنید. اگر ماوس در حال حاضر بر روی رادیوباتن است، state=ACTIVE است. |
22 |
text برچسب نمایش دادهشده کنار رادیوباتن. از خطوط جدید ("n\") برای نمایش چند خط متن استفاده کنید. |
23 |
textvariable برای اتصال متن نمایشدادهشده در ویجت برچسب به متغیر کنترلی از کلاس StringVar، این گزینه را به آن متغیر تنظیم کنید. |
24 |
underline شما میتوانید زیرخط (_) را زیر حرف n ام متن نمایشدادهشده قرار دهید، با تعدادشمارش از 0، با تنظیم این گزینه به n. پیشفرض underline=-1 است، که به معنی بدون زیرخط است. |
25 |
value هنگامی که یک رادیوباتن توسط کاربر روشن میشود، متغیر کنترل آن به گزینه مقدار فعلی خود تنظیم میشود. اگر متغیر کنترل یک IntVar باشد، هر رادیوباتن در گروه یک گزینه مقدار عددی متفاوت داشته باشد. اگر متغیر کنترل یک StringVar باشد، هر رادیوباتن یک گزینه مقدار رشتهای متفاوت داشته باشد. |
26 |
variable متغیر کنترلی که این رادیوباتن با سایر رادیوباتنها در گروه به اشتراک میگذارد. این میتواند یک IntVar یا StringVar باشد. |
27 |
width عرض برچسب به تعداد کاراکترها (نه پیکسل!). اگر این گزینه تنظیم نشود، برچسب به اندازه محتویات خود اندازهگیری خواهد شد. |
28 |
wraplength شما میتوانید تعداد کاراکترهای هر خط را با تنظیم این گزینه به تعداد مورد نظر محدود کنید. مقدار پیشفرض ۰ است، که به معنی شکستن خطها فقط در نقطههای جدید است. |
متدها
شماره | متد و توضیحات |
---|---|
1 |
deselect() رادیوباتن را پاک میکند (غیرفعال میکند). |
2 |
flash() رادیوباتن را چندین بار بین رنگهای فعال و معمولیاش فلش میدهد، اما آن را به حالت اولیه باقی میگذارد. |
3 |
invoke() شما میتوانید این متد را فراخوانی کنید تا اقداماتی که همان اتفاقاتی که کاربر بر روی رادیوباتن کلیک میکند برای تغییر حالت آن رخ میدهد را دریافت کنید. |
4 |
select() رادیوباتن را تنظیم میکند (فعال میکند). |
مثال
مثال زیر را امتحان کنید −
from tkinter import *
def sel():
selection = "You selected the option " + str(var.get())
label.config(text = selection)
root = Tk()
var = IntVar()
R1 = Radiobutton(root, text="Option 1", variable=var, value=1,
command=sel)
R1.pack( anchor = W )
R2 = Radiobutton(root, text="Option 2", variable=var, value=2,
command=sel)
R2.pack( anchor = W )
R3 = Radiobutton(root, text="Option 3", variable=var, value=3,
command=sel)
R3.pack( anchor = W)
label = Label(root)
label.pack()
root.mainloop()
هنگام اجرای کد بالا، نتیجه زیر تولید میشود :