استفاده از Entry

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 26, 2020

در این قسمت می خواهیم به بررسی نحوه ساخت باکس هایی که کاربر بتواند ورودی های متنی مورد نظر را در آن قرار دهد را بسازیم، که با نام Entry در این ماژول یاد می شوند. این تابع برای گرفتن ورودی های text از کاربر است و می توان از آن برای ساخت فرم هایی که می خواهیم کاربر آنها را پر کند استفاده کنیم. که در واقع می توانیم با استفاده از برچسب ها در کنار این ویدجت یک فرم برای ورود نام و نام فامیل کاربر را ایجاد کنیم. به مثال زیر توجه کنید. نمونه کد: نکته: اگر دقت کنید در قسمت معرفی command ما تابع را بدون پرانتز قرار دادیم چون به صورت یک صفت بر روی کلید عمل خواهد کرد.

#inmporting libraries
from tkinter import *

# building a window
window = Tk()

#adding window title
window.title("icc-aria gui app")

#making a label for first name entry
Label(window, text="First Name").pack()

#making the entry for first name
name = Entry(window)
name.pack()

#making a label for last name entry
Label(window, text="Last Name").pack()

#making the entry for last name
family_name = Entry(window)
family_name.pack()


#creating the loop for the program
window.mainloop()

خروجی کد:

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

  • delete ( first, last=None )
  • get()
  • icursor()
  • index ( index )
  • insert ( index, s )
  • select_adjust ( index )
  • select_clear()
  • select_from ( index )
  • select_present()
  • select_range ( start, end )
  • select_to ( index )
  • xview ( index )
  • xview_scroll ( number, what )

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

#inmporting libraries
from tkinter import *

#function to get the name and family name to show in window and console
def sign_in():
    first_name = name.get()
    last_name = family_name.get()
    print("welcome mr/ms {} {}".format(first_name,last_name))
    user_name.configure(text="welcome mr/ms {} {}".format(first_name,last_name))

# building a window
window = Tk()

#adding window title
window.title("icc-aria gui app")

#making a label for first name entry
Label(window, text="First Name").pack()

#making the entry for first name
name = Entry(window)
name.pack()

#making a label for last name entry
Label(window, text="Last Name").pack()

#making the entry for last name
family_name = Entry(window)
family_name.pack()

#making an action button
btn = Button(window,text="sign in",command=sign_in)
btn.pack()

#making a label to be able to welcome user
user_name = Label(window)
user_name.pack()

#creating the loop for the program
window.mainloop()

نمونه خروجی:

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
captcha
2دیدگاه
  • معراج کاظمی
    2 weeks, 1 day ago

    سلام من میخوام یک برنامه ادیتور عکس بنویسم که بالای صفحه یک button باشه که کاربر وقتی زد روش عکس رو انتخاب کنه و نمیدونم چجوری این کار رو کنم لطفا بگید چجوری این کار رو کنم و اینکه بعدش چجوری میتونم عکس انتخاب شده رو تو یه متغییر بریزم که ادیتش کنم بعد

    • علی بیگدلی
      2 weeks, 1 day ago

      شما می بایست با استفاده از askopenfile این کار رو انجام بدید برای اینکه با زدن دکمه بتونید ورودی از کاربر حالا هر مدل فایلی که هستش رو بگیرید به قطعه کده نوشته شده در این صفحه نگاه بندازید: https://stackoverflow.com/questions/16798937/creating-a-browse-button-with-tkinter