Pomoc s Listbox a mnohonásobným obsahom – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomoc s Listbox a mnohonásobným obsahom – Python – Fórum – Programujte.comPomoc s Listbox a mnohonásobným obsahom – Python – Fórum – Programujte.com

 

Peter Orosz0
Expert
25. 2. 2007   #1
-
0
-

Chcel som vytvoriť program, ktorý bude mať v Listbox-e (Tkinter) tri položky. Vedľa bude Message. No a v skratke by išlo o to, že každá Listboxová položka by mala svoj vlastný obsah, ktorý by sa prenášal ako text do Messagu. Teda keď kliknete na "Položka 1", v Messagi vám vypíše: "Seat Cordoba". Keď kliknete na "Položka 2", v Messagi vám vypíše: "VW Polo" a keď kliknete na tretiu, vypíše vám "Toyota Yaris".

V Tkinteri som ešte len mierne pokročilý, takže by som uvítal pomoc. V provom rade (zrejme :)) ide o to, ako mám jednotlivým položkám v zozname priradiť reťazcovú hodnotu. Potom neviem, ako mám tú hodnotu preniesť do Messagu.

Zatiaľ som naprogramoval toto... a trebalo by to dorobiť:

from Tkinter import *


hlavneOkno = Tk()

listbox = Listbox(hlavneOkno)
listbox.grid(row=0, column=0)

listbox.insert(END, "Polozka 1")
listbox.insert(END, "Polozka 2")
listbox.insert(END, "Polozka 3")

text = Message(hlavneOkno) #Momentálne ho nevidno, ak dosadíte hocijaký text (napr. text="ahoj, svet!"), Message widget sa zobrazí.
text.grid(row=0, column=1)

mainloop()


Za pomoc ďakujem.

Nahlásit jako SPAM
IP: ...–
A ja som si myslel, že sa rozídeme v dobrom...
Jakub Vojáček
~ Moderátor
0
Grafoman
25. 2. 2007   #2
-
0
-

musíš listbox svázat s kliknutím tlačítka myši. Ale z jistých důvodů je jednodušší svázat listbox s dvojitým klikem. Více na http://www.tkintercz.wz.cz/listbox.htm

# -*- coding: cp1250 -*-

from Tkinter import *

hlavneOkno = Tk()

listbox = Listbox(hlavneOkno)
listbox.grid(row=0, column=0)

listbox.insert(END, "Polozka 1")
listbox.insert(END, "Polozka 2")
listbox.insert(END, "Polozka 3")
def klik(akce):
print u"Je vybráno: ",listbox.curselection()[0]#podle toho cisla pak už snadno zmenis text Message...
vyber=listbox.curselection()[0]
text["text"]={"0":"Nisan","1":"Audi","2":"Toyota"}[vyber]
listbox.bind('<Double-1>',klik)
text = Message(hlavneOkno)
text.grid(row=0, column=1)

mainloop()

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
Peter Orosz0
Expert
25. 2. 2007   #3
-
0
-

Ďakujem.

Nahlásit jako SPAM
IP: ...–
A ja som si myslel, že sa rozídeme v dobrom...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý