ساخت یک list box
در این قسمت به بررسی یکی دیگر از ویدجت های ماژول 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()
نمونه خروجی:
سلام متد (دیلت) تو خود این کتابخانه هست ؟ چون توی ویدیو از دیتا تایپ لیست چیزی نوشته نشده و کلا تا جایی که من میدونم این مدل متد تو دیتا تایپ (لیست) نیست
یسری متد ها جا به جا شدن بهتره توی داکیومنت خود پایتون متد های لیست رو ببینی
سلام و خسته نباشید
آموزش هاتون خیلی ساده و فوق العاده هست
دو تا سوال از خدمتتون دارم
1 - مثلا در مثال دوم میخوام که بعد از اینکه ورودی هامو وارد لیست کردن زیر هر کدوم یک خط بندازه که از هم جدا بشن؟ این با چه کدی امکان داره؟
2 - اینکه من دکمه درست میکنم ولی اینتر رو از کیبورد میزنم کار نمیکنه ، اینو با چه کدی میشه تعریف کرد؟
برای اولی دقیقا متوجه نشدم منظورتون چیه
برای دومی با این محور جست جو کنین: How do I bind the enter key to a function in tkinter?
ببخشید اگه بخوایم نوشته رو پردازش کنیم بعد در لیست پایین نمایش بده یعنی مثلا بگیم که 'ش ' = a
و در لیست بالا بنویسیم a و در لیست پایین به ما (ش) چه جوری باید این کار رو انجام بدیم؟
دیکشنری رو نگاه کنین
سلام امکان این هست ک بتونیم سورس کد رو از کاربر مخفی کنیم؟
می تونید از برنامه نوشته شده خروجی اجرایی با استفاده از pyinstaller بگیرید، اگر عجله ای ندارید تا اول بهمن ماه صبر کنید تا دوره پایتون پیشرفته منتظر باشید