Seite 1 von 1
					
				mehrspaltige Listbox()  ???
				Verfasst: Montag 21. November 2005, 12:53
				von drabo
				wie kann ich eine mehrspaltige listbox mit labeln erstellen?
|name     |vorname   |   <----label
|------------------------|
|dragan   |bojovic      | <----- ['dragan','bojovic']
|Hans      |Tester       | <-----['Hans','Tester']
ps: mit Tkinter
Edit (Leonidas): Ins TkInter-Forum verschoben.
			 
			
					
				
				Verfasst: Montag 21. November 2005, 21:22
				von mawe
				Hi!
Ich hab immer mehr den Eindruck, dass es kaum noch eine Frage zu Python gibt, die hier noch nicht gestell wurde 
 
Schau mal 
hier und 
hier.
Gruß, mawe
 
			
					
				
				Verfasst: Montag 21. November 2005, 21:38
				von Leonidas
				mawe hat geschrieben:Ich hab immer mehr den Eindruck, dass es kaum noch eine Frage zu Python gibt, die hier noch nicht gestell wurde 

 
Jetzt sind wir nicht mehr die 
Dauer-Antworter sondern die 
Verwalter des gesammelten Python-Wissens. Klingt gar nicht mal so schlecht 

 
			
					
				
				Verfasst: Montag 21. November 2005, 21:52
				von mawe
				Leonidas hat geschrieben:Verwalter des gesammelten Python-Wissens. Klingt gar nicht mal so schlecht 
Ja, ich fühl mich plötzlich so wichtig 
 
 
 
			
					
				Danke
				Verfasst: Dienstag 22. November 2005, 10:34
				von drabo
				in der zwischenzeit habeich es auch gefunden 
 
trotzdem danke an die 'master of the universe' 

 
			
					
				
				Verfasst: Dienstag 22. November 2005, 10:50
				von drabo
				blöde frage aber wie wende ich das Teil den an?
als MultiListbox.py speichern?
mit 'from MultiListbox import *' importieren
und dann???? bitte vervollständigen, bitte, bitte.....
 
Code: Alles auswählen
from Tkinter import *
from MultiListbox import *
root = Tk()
datensatz1 = ['Hans','Tester']
datensatz2 = ['Dragan','Bojovic']
listbox = MultiListbox(root, (('Vorname', 10), ('Name', 10)))
listbox.pack(expand=YES,fill=BOTH)
for item in datensatz1:
    listbox.insert(END,item)
for item in datensatz2:
    listbox.insert(END,item)
root.mainloop()
 
			
					
				
				Verfasst: Dienstag 22. November 2005, 11:20
				von drabo
				ich habs 

 so muss es sein:
Code: Alles auswählen
from Tkinter import *
from MultiListbox import *
root = Tk()
datensatz1 = [('Hans','Tester')]
datensatz2 = [('Dragan','Bojovic')]
listbox = MultiListbox(root, (('Vorname', 10), ('Name', 10)))
listbox.pack(expand=YES,fill=BOTH)
for item in datensatz1:
    listbox.insert(END,item)
for item in datensatz2:
    listbox.insert(END,item)
root.mainloop()
 
			
					
				
				Verfasst: Dienstag 22. November 2005, 11:55
				von drabo
				Habe doch noch ein Problem ich hoffe das ihr mir helfen könnt
ich habe den folgenden code geschrieben um den wert wieder auszulesen
Code: Alles auswählen
from Tkinter import *
from MultiListbox import *
def anzeigen():
    aktiver_name = listbox.get(ACTIVE)
    label['text'] = aktiver_name
    
root = Tk()
datensatz1 = [('Hans','Tester')]
datensatz2 = [('Dragan','Bojovic')]
listbox = MultiListbox(root, (('Vorname', 10), ('Name', 10)))
listbox.pack()
for item in datensatz1:
    listbox.insert(END,item)
for item in datensatz2:
    listbox.insert(END,item)
label = Label(root, text = '')
label.pack(expand=YES,fill=BOTH)
knopf = Button(root, text = 'Anzeigen', command = anzeigen)
knopf.pack()
root.mainloop()
Wenn ich unten rechts auf 'Bojovic' klicke zeigt er mir folgendes an:
 
auch die Art irritiert mich ['Hans','Bojovic']
könnte das nicht einfach Dragan Bojovic heissen? 
 
kann mir bitte jemand helfen ??
Edit (Leonidas): Code in Python-Tags gesetzt. 
			
					
				
				Verfasst: Dienstag 22. November 2005, 12:18
				von mawe
				Hi!
Naja, es sind 2 Dinge in 2 Listboxen aktiv, d.h. wenn Du nach den aktiven Elementen fragst, bekommst Du eine List mit den Elementen.
Du kannst folgendes machen:
Code: Alles auswählen
def anzeigen():
    aktiver_name = listbox.get(ACTIVE)
    label['text'] = " ".join(aktiver_name)
Die Datensätze kannst Du auch zusammenfassen:
Code: Alles auswählen
datensatz = [('Hans', 'Tester'), ('Dragan', 'Bojovic')]
for item in datensatz:
    listbox.insert(END, item)
Gruß, mawe
 
			
					
				
				Verfasst: Dienstag 22. November 2005, 14:12
				von drabo
				Code: Alles auswählen
from Tkinter import *
from MultiListbox import *
def anzeigen():
    aktiver_name = listbox.get(ACTIVE)
    label['text'] = ' '.join(aktiver_name)
    
root = Tk()
datensatz = [('Hans','Tester'),('Dragan','Bojovic')]
listbox = MultiListbox(root, (('Vorname', 10), ('Name', 10)))
listbox.pack()
for item in datensatz:
    listbox.insert(END,item)
label = Label(root, text = '')
label.pack(expand=YES,fill=BOTH)
knopf = Button(root, text = 'Anzeigen', command = anzeigen)
knopf.pack()
root.mainloop()
ich habe deinen code adaptiert, danke. zwei sachen finde ich besser: 
1. ich brauche nur einen datensatz
2. durch das ' '.join(aktiver_datensatz) wird der aktive datensatz richtig dargestellt also ohne [' ',' ']
das problem ist aber immer noch das er die daten nicht linienweise ausliest,  sondern er stellt sie immer anders dar je nachdem auf welche zelle ich drauf klicke. ich erhalte antworten wie:
Hans Bojovic
Dragan Tester
Dragan Bojovic
etc.
könntest du mir auch dabei behilflich sein???? danke.
Edit (Leonidas): Code in Python-Tags gesetzt. 
			
					
				
				Verfasst: Dienstag 22. November 2005, 14:57
				von mawe
				Versuch mal das, so sollte es funktionieren:
Code: Alles auswählen
def anzeigen():
    aktiver_name = listbox.get(listbox.curselection())
    label['text'] = " ".join(aktiver_name)
 
			
					
				
				Verfasst: Dienstag 22. November 2005, 15:03
				von Gast
				"Thanks Dr. Green you're the shit" - Cypress Hill
DANKE, DANKE.....
Ich bin neu und kenne nicht alle Befehle 
 
Jetzt gehts