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

آموزش پایتون - ورودی

ویجت ورودی (Entry) برای دریافت رشته‌های متنی یک خطی از کاربر استفاده می‌شود.

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

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

سینتکس (Syntax)

اینجا سینتکس ساده‌ای برای ایجاد این ویجت وجود دارد 

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

پارامترها (Parameters)

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

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

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

bg

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

۲

bd

اندازه حاشیه اطراف نشانگر. پیش‌فرض ۲ پیکسل است.

۳

command

یک رویه (procedure) که هر بار کاربر وضعیت این دکمه‌انتخاب را تغییر می‌دهد فراخوانی می‌شود.

۴

cursor

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

۵

font

قلم مورد استفاده برای متن.

۶

exportselection

به طور پیش‌فرض، اگر متنی را درون ویجت ورودی انتخاب کنید، به طور خودکار به کلیپ‌بورد صادر می‌شود. برای جلوگیری از این صادر کردن، از exportselection=0 استفاده کنید.

۷

fg

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

۸

highlightcolor

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

۹

justify

اگر متن شامل چند خط باشد، این گزینه کنترل می‌کند که متن به چه صورت تراز شود: مرکز (CENTER)، چپ (LEFT) یا راست (RIGHT).

۱۰

relief

با مقدار پیش‌فرض، relief=FLAT، دکمه‌انتخاب از پس‌زمینه‌اش برجسته نمی‌شود. شما می‌توانید این گزینه را به یکی از سبک‌های دیگر تنظیم کنید.

۱۱

selectbackground

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

۱۲

selectborderwidth

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

۱۳

selectforeground

رنگ پیش‌زمینه (متن) متن انتخاب شده.

۱۴

show

به طور معمول، کاراکترهایی که کاربر تایپ می‌کند در ورودی ظاهر می‌شوند. برای ایجاد ورودی .password. که هر کاراکتر به عنوان یک علامت ستاره (*) نمایش داده می‌شود، show="*" را تنظیم کنید.

۱۵

state

مقدار پیش‌فرض state=NORMAL است، اما شما می‌توانید از state=DISABLED برای خاکستری کردن کنترل و غیرفعال کردن آن استفاده کنید. اگر نشانگر موس در حال حاضر بر روی دکمه‌انتخاب قرار دارد، وضعیت آن ACTIVE است.

۱۶

textvariable

برای توانایی دریافت متن کنونی از ویجت ورودی، باید این گزینه را به یک نمونه از کلاس StringVar تنظیم کنید.

۱۷

width

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

۱۸

xscrollcommand

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

متدها (Methods)

در زیر، متدهای معمولاً استفاده شده برای این ویجت آمده‌اند −

ردیف متد و توضیح
۱

delete ( first, last=None )

حذف کاراکترها از ویجت، شروع با کاراکتر در اندیس first تا قبل از کاراکتر در موقعیت last. اگر آرگومان دوم حذف شود، فقط کاراکتر تکی در موقعیت first حذف می‌شود.

۲

get()

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

۳

icursor ( index )

مکان‌گذاری نشانگر درج درست قبل از کاراکتر در اندیس داده‌شده.

۴

index ( index )

جابجایی محتوای ورودی به گونه‌ای که کاراکتر در اندیس داده‌شده بیرون‌ترین کاراکتر قابل مشاهده باشد. اگر متن کاملاً درون ورودی جا بیفتد، هیچ تأثیری ندارد.

۵

insert ( index, s )

رشته s را قبل از کاراکتر در اندیس داده‌شده درج می‌کند.

۶

select_adjust ( index )

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

۷

select_clear()

انتخاب را پاک می‌کند. اگر در حال حاضر هیچ انتخابی وجود نداشته باشد، هیچ تأثیری ندارد.

۸

select_from ( index )

موقعیت انکور (ANCHOR) را به کاراکتری که با اندیس انتخاب شده مطابقت دارد تنظیم می‌کند و آن کاراکتر را انتخاب می‌کند.

۹

select_present()

اگر انتخاب وجود دارد، true برمی‌گرداند، در غیر اینصورت false برمی‌گرداند.

۱۰

select_range ( start, end )

انتخاب را تحت کنترل برنامه تنظیم می‌کند. متن را از اندیس start شروع کرده و تا قبل از کاراکتر در اندیس end انتخاب می‌کند. موقعیت start باید قبل از موقعیت end باشد.

۱۱

select_to ( index )

تمام متن را از موقعیت انکور (ANCHOR) تا قبل از کاراکتر در اندیس داده‌شده انتخاب می‌کند.

۱۲

xview ( index )

این متد برای اتصال ویجت ورودی به یک نوارپیمای افقی مفید است.

۱۳

xview_scroll ( number, what )

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

نمونه کد

from tkinter import *

top = Tk()
L1 = Label(top, text="User Name")
L1.pack( side = LEFT)
E1 = Entry(top, bd =5)
E1.pack(side = RIGHT)

top.mainloop()

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

TK ورودی