Merhaba, python
ile yaptığım tkinter
projemde bir listbox
öğesi var. Ben bu listenin içindeki örneğin 3. sıradaki içeriğe çift tıkladığımda bir toplevel
öğesi açılsın istiyorum. Bunu nasıl ayarlayabilirim? Şimdiden teşekkürler.
Şu kodu inceleyin:
import tkinter as tk
def listbox_click_event(*args):
selected_text = listbox.get("active")
if selected_text == "oge3":
top_level = tk.Toplevel(root)
text_label = tk.Label(
top_level,
text="Bu pencere yalnızca 'öge3' adlı öğe tıklanınca açılır."
)
text_label.pack()
top_level.mainloop()
root = tk.Tk()
listbox = tk.Listbox(root)
listbox.pack()
for i in [f"oge{i}" for i in range(10)]:
listbox.insert("end", i)
listbox.bind("<Double-Button-1>", listbox_click_event)
root.mainloop()
Merhaba, öncelikle teşekkür ederim. Ama bir sorum olacak:
for i in [f"oge{i}" for i in range(10)]:
listbox.insert("end", i)
Bu komutun ne işe yaradığını söylermisiniz?
listbox.insert("end", i)
Bu tkinter.Listbox
sınıfının insert()
metodu. "end"
diyerek i
değişkenini listenin sonuna ekliyoruz.
[f"oge{i}" for i in range(10)]
Bu da bir list compherension
. for
döngüsü ile i
değişkenini range(10)
içerisinde gezdirerek her döngüde "oge + str(i)"
yi listeye eklemesini sağlıyoruz. Ayrıntılı bilgi burada var.
Tekrardan teşekkürler işime yaradı. Kolay gelsin…