Python Tkinter listbox()

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…