آموزش پایتون - Menubutton
یک منو دکمهای (Menubutton) بخشی از یک منوی کشویی است که همیشه روی صفحه نمایش باقی میماند. هر منو دکمهای با یک ویجت منو (Menu) مرتبط است که میتواند گزینهها را برای آن منو دکمه نمایش دهد هنگامی که کاربر بر روی آن کلیک میکند.
سینتکس:
w = Menubutton ( master, option, ... )
پارامترها
-
master − این نمایانگر پنجره والد (parent window) است.
-
options − اینجا لیستی از گزینههای معمولاً استفاده شده برای این ویجت وجود دارد. این گزینهها میتوانند به صورت جفتهای کلید باشند و مقدار به وسیلهٔ کاماها از هم جدا میشوند.
شماره | گزینه و توضیحات |
---|---|
1 |
activebackground رنگ پسزمینه هنگامی که موس روی منو دکمه (menubutton) قرار دارد. |
2 |
activeforeground رنگ پیشزمینه هنگامی که موس روی منو دکمه (menubutton) قرار دارد. |
3 |
anchor این گزینه کنترل میکند که متن چگونه قرار گیری کند اگر اندازهٔ ویجت بیشتر از نیاز متن باشد. پیشفرض anchor=CENTER است که متن را در مرکز قرار میدهد. |
4 |
bg رنگ پسزمینهٔ نرمال نمایش داده شده پشت برچسب و نشانگر. |
5 |
bitmap برای نمایش یک تصویر (bitmap) بر روی منو دکمه (menubutton)، این گزینه را به نام یک تصویر بستهبندی شده (bitmap name) تنظیم کنید. |
6 |
bd اندازهٔ حاشیهٔ اطراف نشانگر. پیشفرض 2 پیکسل است. |
7 |
cursor نشانگری که ظاهر میشود هنگامی که موس روی این منو دکمه (menubutton) قرار دارد. |
8 |
direction برای نمایش منو به سمت چپ دکمه از direction=LEFT استفاده کنید؛ برای نمایش منو به سمت راست دکمه از direction=RIGHT استفاده کنید؛ یا از direction='above' برای قرار دادن منو بالای دکمه استفاده کنید. |
9 |
disabledforeground رنگ پیشزمینه نشان داده شده بر روی این منو دکمه (menubutton) هنگامی که غیرفعال است. |
10 |
fg رنگ پیشزمینه هنگامی که موس روی منو دکمه (menubutton) نیست. |
11 |
height ارتفاع منو دکمه (menubutton) به تعداد خطوط متن (نه پیکسل!). پیشفرض این است که اندازهٔ منو دکمه (menubutton) را بر اساس محتویات آن تنظیم می شود. |
12 |
highlightcolor رنگ نمایش داده شده در تاکید فوکوس هنگامی که ویجت دارای فوکوس است. |
13 |
image برای نمایش یک تصویر بر روی این منو دکمه (menubutton)، |
14 |
justify این گزینه کنترل میکند متن چگونه قرار گیری کند هنگامی که متن محتویات منو دکمه (menubutton) را پر نمیکند: از justify=LEFT برای چپ چین کردن متن (این پیشفرض است)؛ از justify=CENTER برای مرکزچین کردن آن، یا از justify=RIGHT برای راستچین کردن. |
15 |
menu برای ارتباط منو دکمه (menubutton) با مجموعهای از گزینهها، این گزینه را به شیء منو (Menu) حاوی این گزینهها تنظیم کنید. این شیء منو (menu object) باید با ارسال منو دکمه مربوطه به سازندهاش به عنوان آرگومان اول ایجاد شده باشد. |
16 |
padx فاصله بین متن منو دکمه (menubutton) به سمت چپ و راست. پیشفرض 1 است. |
17 |
pady فاصله بین متن منو دکمه (menubutton) به سمت بالا و پایین. پیشفرض 1 است. |
18 |
relief از سایهدهی مرزهای سهبعدی استفاده میکند. پیشفرض RAISED است. |
19 |
state به طور معمول، منو دکمهها به وقوع پیوسته به موس پاسخ میدهند. برای خاکستری کردن منو دکمه و جلوگیری از واکنش به آن، از state=DISABLED استفاده کنید. |
20 |
text برای نمایش متن بر روی منو دکمه (menubutton)، این گزینه را به رشتهای حاوی متن موردنظر تنظیم کنید. خطهای جدید ("n\") درون رشته باعث شکستن خط میشوند. |
21 |
textvariable میتوانید یک متغیر کنترل (control variable) از کلاس StringVar با این منو دکمه (menubutton) مرتبط کنید. تنظیم این متغیر کنترل، متن نمایش دادهشده را تغییر میدهد. |
22 |
underline به طور معمول، زیرخطی زیر متن منو دکمه (menubutton) نمایش داده نمیشود. برای زیرخط کشیدن یکی از حروف، این گزینه را به شاخص آن حرف تنظیم کنید. |
23 |
width عرض ویجت به تعداد کاراکترها. پیشفرض 20 است. |
24 |
wraplength به طور معمول، خطوط بخش بندی نمیشوند. میتوانید این گزینه را به تعدادی از کاراکترها تنظیم کنید و تمام خطوط به بخشهایی با طول کمتر از آن تقسیم خواهند شد. |
مثال
با خودتان مثال زیر را امتحان کنید −
from tkinter import *
top = Tk()
mb= Menubutton ( top, text="condiments", relief=RAISED )
mb.grid()
mb.menu = Menu ( mb, tearoff = 0 )
mb["menu"] = mb.menu
mayoVar = IntVar()
ketchVar = IntVar()
mb.menu.add_checkbutton ( label="mayo",
variable=mayoVar )
mb.menu.add_checkbutton ( label="ketchup",
variable=ketchVar )
mb.pack()
top.mainloop()
زمانی که کد بالا اجرا میشود، نتیجهٔ زیر تولید میشود −