ساخت یک list box

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

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

#importing libraries
from tkinter import *

# building a window
window = Tk()

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

#creating a list box for elements
list_box = Listbox(window)
list_box.pack()

#inserting elements with insert method
list_box.insert(1, "Python")
list_box.insert(2, "Ali Bigdeli")
list_box.insert(2, "ICC-Aria")

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

نمونه خروجی:

اما استفاده واقعی آن به چه صورت است و چگونه می توان با این المان ارتباط بر قرار کرد؟ مثال زیر نحوه تعامل به این المان را با استفاده از اضافه کردن المان های ورودی ازطریق entry نشان می دهد. کد نمونه:

#importing libraries
from tkinter import *

#inserting items in list_box
def insert_element():
    list_box.insert(END,name_entry.get())

#function to clear all the data in list_box
def clear_box():    
    list_box.delete(0,END)

# building a window
window = Tk()

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

#an entry for giving the elements we want to add
name_entry = Entry(window)
name_entry.pack()

#a button to send the entries to listbox
send_btn = Button(window,text="send to box",command=insert_element)
send_btn.pack()

#a button to clear all the contents in box
send_btn = Button(window,text="clear the box",command=clear_box)
send_btn.pack()

#creating a list box for elements
list_box = Listbox(window)
list_box.pack()

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

نمونه خروجی:

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
8دیدگاه
  • مهراد
    1 year, 7 months ago

    سلام متد (دیلت) تو خود این کتابخانه هست ؟ چون توی ویدیو از دیتا تایپ لیست چیزی نوشته نشده و کلا تا جایی که من میدونم این مدل متد تو دیتا تایپ (لیست) نیست

    • علی بیگدلی
      1 year, 7 months ago

      یسری متد ها جا به جا شدن بهتره توی داکیومنت خود پایتون متد های لیست رو ببینی

  • sadegh sarbazi
    1 year, 10 months ago

    سلام و خسته نباشید
    آموزش هاتون خیلی ساده و فوق العاده هست
    دو تا سوال از خدمتتون دارم
    1 - مثلا در مثال دوم میخوام که بعد از اینکه ورودی هامو وارد لیست کردن زیر هر کدوم یک خط بندازه که از هم جدا بشن؟ این با چه کدی امکان داره؟
    2 - اینکه من دکمه درست میکنم ولی اینتر رو از کیبورد میزنم کار نمیکنه ، اینو با چه کدی میشه تعریف کرد؟

    • علی بیگدلی
      1 year, 10 months ago

      برای اولی دقیقا متوجه نشدم منظورتون چیه
      برای دومی با این محور جست جو کنین: How do I bind the enter key to a function in tkinter?

  • محمد علی
    2 years ago

    ببخشید اگه بخوایم نوشته رو پردازش کنیم بعد در لیست پایین نمایش بده یعنی مثلا بگیم که 'ش ' = a
    و در لیست بالا بنویسیم a و در لیست پایین به ما (ش) چه جوری باید این کار رو انجام بدیم؟

    • علی بیگدلی
      2 years ago

      دیکشنری رو نگاه کنین

  • Sha yan
    2 years, 4 months ago

    سلام امکان این هست ک بتونیم سورس کد رو از کاربر مخفی کنیم؟

    • علی بیگدلی
      2 years, 4 months ago

      می تونید از برنامه نوشته شده خروجی اجرایی با استفاده از pyinstaller بگیرید، اگر عجله ای ندارید تا اول بهمن ماه صبر کنید تا دوره پایتون پیشرفته منتظر باشید