hab folgendes Problem:
Code: Alles auswählen
from Tkinter import *
T = Tk()
for i in range(5):
S = Spinbox(T,values=('A','B','C'),command=lambda: show(S.get()))
S.grid(row=i)
def show(A):
print A
Danke im Voraus.
Gruß Cobra5
Code: Alles auswählen
from Tkinter import *
T = Tk()
for i in range(5):
S = Spinbox(T,values=('A','B','C'),command=lambda: show(S.get()))
S.grid(row=i)
def show(A):
print A
Code: Alles auswählen
import Tkinter as tk
from functools import partial
def show(number, spinbox):
print '%d = %s' % (number, spinbox.get())
def main():
root = tk.Tk()
for i in xrange(5):
spinbox = tk.Spinbox(root, values=('A', 'B', 'C'))
spinbox.configure(command=partial(show, i, spinbox))
spinbox.pack()
root.mainloop()
if __name__ == '__main__':
main()
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Skriptname spinbox_02.py (26.06.2008 wuf)
import Tkinter as tk
def show(obj,index):
"""Der Wert einer Spinbox wurde verändert"""
print 'Spinbox.Nr = %d Wert = %s ' % (index,obj.get())
#~~ Erstellt das Tk-Hauptfenster
root = tk.Tk()
root['bg'] = 'khaki'
root.title('Spinbox')
for i in range(5):
#~~ Erstellt das Spinbox-Objekt
spinbox_obj = tk.Spinbox(root,
values = ('A','B','C'),
bd = 1,
bg = 'white',
fg = 'blue'
)
#~~ Die Option 'command' kann erst hier mit der Methode 'configure'
# konfiguriert werden, da die lambda-Funktion für den Funktions-
# Aufruf 'show' das Spinbox-Objekt benötigt.
spinbox_obj.configure(
command = lambda obj=spinbox_obj,index=i: show(obj,index)
)
#~~ Bindet das Spinbox-Objekt an den Grid-Layout-Manager
spinbox_obj.grid(row=i,column=0,padx=4,pady=4)
root.mainloop()
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Skriptname spinbox_03.py (29.06.2008 wuf)
import Tkinter as tk
def show(obj,index):
"""Der Wert einer Spinbox wurde verändert"""
print 'Spinbox.Nr = %d Wert = %s ' % (index,obj.get())
#~~ Erstellt das Tk-Hauptfenster
root = tk.Tk()
root['bg'] = 'khaki'
root.title('Spinbox')
#~~ Sammel-Liste für Spinbox-Objekte
spinbox_obj_list = []
for i in range(5):
#~~ Erstellt das Spinbox-Objekt
spinbox_obj = tk.Spinbox(root,
values = ('A','B','C'),
bd = 1,
bg = 'white',
fg = 'blue'
)
#~~ Die Option 'command' kann erst hier mit der Methode 'configure'
# konfiguriert werden, da die lambda-Funktion für den Funktions-
# Aufruf 'show' das Spinbox-Objekt benötigt.
spinbox_obj.configure(
command = lambda obj=spinbox_obj,index=i: show(obj,index)
)
#~~ Bindet das Spinbox-Objekt an den Grid-Layout-Manager
spinbox_obj.grid(row=i,column=0,padx=4,pady=4)
#~~ Füge das Spinbox-Objekt der Spinbox-Objektliste hinzu
spinbox_obj_list.append(spinbox_obj)
#~~ Den Inhalt der ersten Spinbox mit dem Wert 10 überschreiben
spinbox_obj_list[0].delete(0,'end')
spinbox_obj_list[0].insert(0,10)
#~~ Einen neuen Wert in die letzte Spinbox einfügen (5. Spinbox)
# Der Wert heisst X und wird an der ersten Position eingefügt
spinbox_obj_list[4].insert(0,'X')
root.mainloop()