Label
عنصر Label را میتوان برای نمایش متن یا تصویر به کار گرفت. شما میتوانید متن و تصویر را هر زمان که میخواهید، تغییر دهید. همچنین میتوان بخشی از متن را دارای زیرخط (Underline) کرد و یا متن را در چند خط نمایش داد. نحوه تعریف کردن عنصر دکمه به صورت زیر است:
Label (master, option=value, ...)
master، بیانگر پنجره والدی است که این دکمه به آن تعلق خواهد داشت و options، تنظیمات پرکاربرد برای دکمه میباشند که میتوانند به صورت زوجهای کلید/مقدار که با ویرگول از هم جدا میشوند، مورد استفاده قرار گیرند. در جدول زیر لیست این تنظیمات آمده است:
تنظیمات | شرح |
anchor | این گزینه محل قرار گرفتن متن را کنترل میکند (زمانی که عنصر فضای آزاد برای نمایش متن داشته باشد). مقدار پیش فرض آن CENTER است که متن را در وسط فضای موجود قرار میدهد. این خاصیت مقادیر n ،ne ،e ،se ،s ،sw ،w ،nw و center را دریافت میکند. |
bg | رنگ پس زمینه در حالت عادی که در پشت برچسب نمایش داده میشود. |
bitmap | با انتساب یک شیء bitmap یا image به این گزینه، عنصر، گرافیک مورد نظر را نشان میدهد. |
bd | اندازه خط کناری label را تعیین میکند و مقدار پیش فرض 2 پیکسل میباشد. |
cursor | با انتساب یکی از نامهای نشانگر ماوس (arrow ،dot و …) برای این گزینه، زمانی که ماوس بر روی این عنصر قرار گیرد، نشانگر ماوس به الگوی مشخص شده تغییر مییابد. |
font | اگر از label برای نمایش متن استفاده میکنید، این گزینه فونتی که برای متن استفاده میشود را مشخص میکند. |
fg | در حالت استفاده از متن، رنگ متن را مشخص میکند. اگر از label برای bitmap استفاده میکنید، رنگ مشخص شده، در موقعیت بیتهای با مقدار 1، نمایش داده میشود. |
height | اندازه عمودی عنصر را تعیین میکند. |
image | برای نمایش تصویر بر روی label به کار میرود. |
justify | در متن چند خطی، مشخص کننده نحوه تراز کردن متن است. LEFT برای چپ چین شدن، CENTER وسط چین (پیش فرض) و RIGHT راست چین. |
padx | میزان فضایی اضافی که بین لبههای چپ و راست متن اضافه میشود. مقدار پیش فرض آن 1 است. |
pady | میزان فضایی اضافی که بین لبههای بالا و پایین متن اضافه میشود. مقدار پیش فرض آن 1 است. |
relief | نحوه نمایش لبه کناری را مشخص میکند. مقدار پیش فرض آن FLAT است. |
text | برای نمایش یک یا چند خط متن بر روی label، رشته متن مورد نظر را به این گزینه انتساب دهید. برای رفتن به خط جدید در متن از “n\” استفاده کنید. |
textvariable | با انتساب این گزینه به یک متغییر کنترلی از نوع StringVar، میتوانید متن نمایش داده شده را کنترل کنید. |
underline | با انتساب n به این گزینه، میتوانید یک زیر خط (_) برای حرف nام در متن قرار دهید (شروع از صفر). مقدار پیش فرض 1- است، به معنی اینکه هیچکدام از حروف متن زیر خط ندارد. |
width | پهنای label بر اساس حروف (پیکسل نمیباشد). مقدار پیش فرض با توجه به فضای مورد نیاز برای محتوای آن در نظر گرفته خواهد شد. |
wraplength | شما میتوانید تعداد حروف در هر خط را با مقدار دهی این گزینه به عدد مورد نظر، محدود کنید. مقدار پیش فرض 0 است. به این معنی که خطوط تنها در محل خط جدید شکسته میشوند. |
به کد زیر توجه کنید:
1: import tkinter 2: from tkinter import Label 3: 4: window = tkinter.Tk() 5: window.geometry('200x200') 6: 7: label = Label(window, text='Hello World!', font=("Courier", 15)) 8: label.place(x='25', y='70') 9: 10: window.mainloop()
در خط 7 کد بالا یک عنصر Label را ایجاد کرده و خاصیتهای آن را مقدار دهی کردهایم. همانطور که مشاهده میکنید، با خاصیت font میتوان نوع و اندازه فونت را مشخص کرد. برنامه را اجرا و نتیجه را مشاهده کنید:
حال خاصیت underline را به صورت صورت زیر به خط 7 اضافه نمایید :
label = Label(window, text='Hello World!', font=("Courier", 15), underline=6)
با اجرای برنامه کاراکتر W دارای زیر خط میشود:
همانطور که گفته شد، خاصیت anchor برای تعیین موقعیت متن در Label به کار میرود. عملکرد این خاصیت زمانی آشکار می ورد که خاصیتهای width ،bg و height هم مشخص شده باشند. خط 7 را به صورت زیر تغییر دهید:
label = Label( window, text = 'Hello World!', font = ("Courier", 10), underline = 6, bg = 'green', fg = "white", width = 18, height = 5, anchor = "s" )
با اجرای برنامه، متن داخل Label در قسمت پایین قرار میگیرد:
حرف s مقابل خاصیت anchor، به معنای south یعنی جنوب است. با تغییر مقدار s به مقادیر گفته شده در جدول و سپس اجرای برنامه، نتیجه را مشاهده کنید.
سلام استاد .
آموزشتون خیلی خوب بود …
بنده یک فایل نوشتم که میخوام:
1.یک بک گراند برای پنجره داشته باشم.
2.ویجت روی یک فریم نشون داده بشن
بی زحمت اگه میشه جواب رو به این ایمیل بفرستید:
rezakhany.88.11.6@gmail.com
ممنون.
سلام خوبید من میخواهم وقتی این پنجره را ساختم وقتی رو اون مستطیل کلیک میکنم پنجره جدید باز شه. کدشو مینویسید لطفا؟
سلام کدوم فونت برای فارسی نوشتن در label مناسب است
سلام، tahoma
سلام
یه سوال داشتم زهنم رو درگیر کرده
توی tkinter چطوری کاری کنم یه صفحه باز شه که توش ، فونت و اندازه رو وارد کنی .
مثلا تو Word Office میاییم به راحتی فونت و اندازه اش رو انتخاب می کنیم
تو tkinter چطوریه ؟
سلام
وب سایتتون عالیه واقعا ممنون
چطوری باید کیبورد رو در entry غیر فعال کنیم؟
بی نقص
عالی….
اینم عکس مثال
http://uupload.ir/files/rdwt_untitled.png
سلام من میخوام متن فارسی داخل label بنویسم و بیارمش به چسبونمش گوشه صفحه مثلا بالا یا هر جای دلم خواست چه طوری این کارو بکنم؟
https://pasteboard.co/ISnRmrI.png