[Tutor PyCZ] dají se nějak vložit výběry z OptionMenu jako položky do seznamu?

Pavel Kosina geon na post.cz
Úterý Říjen 31 17:07:28 CET 2006


Jan Šimůnek napsal(a):
> Já bych potřeboval, aby byla změněna určitá konkrétní položka seznamu.
> Dá se napsat:
>     seznam[1]=promenna.get()
> ale nedokážu přijít na to,  jak funkci ok předat ještě další hodnotu, aby ji 
> jedno udělátko volalo, že chce uložit hodnotu na seznam[0], další na 
> seznam[1] atd. 
Lambda + atribut instance jako globální proměnná?

# -*- coding: utf-8 -*-
from Tkinter import *

def ok(hodnota, neco):
    u"Volaná funkce při změně hodnoty udělátka 'option'"
    print u"hodnota je:", promenna.get(), hodnota
    okno.neco=okno.neco+1
    print okno.neco
    seznam[okno.neco]=promenna.get()
    print seznam
  
okno = Tk()

seznam=[1]*10
okno.neco=0

promenna = StringVar(okno)  # tkinterovská proměnná
promenna.set(u"jedna")      # počáteční hodnota

option = OptionMenu(okno, promenna, u"jedna", u"dva", u"tři", u"čtyři", 
command=lambda x:ok(x, okno.neco))
option.pack()

mainloop()

-- 
geon
Pavel Kosina



Další informace o konferenci Tutor