Inserting Unicode chars in Entry widget
Irmen de Jong
irmen.NOSPAM at xs4all.nl
Sat Dec 29 14:15:12 EST 2012
On 29-12-2012 18:23, Chris Angelico wrote:
> On Sun, Dec 30, 2012 at 4:11 AM, Irmen de Jong <irmen.NOSPAM at xs4all.nl> wrote:
>> b1=Button(f, text='char1', command=lambda b=1: insert_char(b))
>> b2=Button(f, text='char2', command=lambda b=2: insert_char(b))
>> ...etc..
>>
>> def insert_char(b):
>> if b==1:
>> entrywidget.insert(0, u"\u20ac") # inserts € in the entry widget e
>> elif b==2:
>> entrywidget.insert(0, ...some other char...)
>> ...
>
> I'm not familiar with tkinter syntax, but why not:
>
> b1=Button(f, text='char1', command=lambda: insert_char(1))
> b2=Button(f, text='char2', command=lambda: insert_char(2))
>
> or even:
>
> b1=Button(f, text='char1', command=lambda: insert_char(u"\u20ac"))
> b2=Button(f, text='char2', command=lambda: insert_char("... some other
> char..."))
>
> Seems weird to multiplex like that, but if there's a good reason for
> it, sure. I'm more of a GTK person than tkinter, and more of a
> command-line guy than either of the above.
>
> ChrisA
>
You're right there's nothing special about tkinter there, I was copying some existing
code a bit too literally. Simplify the lambdas as needed. :)
Irmen
More information about the Python-list
mailing list