norseman wrote:
<div class="moz-text-flowed" style="font-family: -moz-fixed">One suggested I change the subject line - OK
I also replaced the [TAB]s since I noticed the Emailer seems
to get very confused with them.



Problem:
        Using Python 2.5.2 and Tkinter ??? (came with system)
        List made and for loop in use
        lst=[ ("S", "Single"), .....]

        for mode, text ....
                c = Radiobuton(.....
                c.pack()

At this point the program runs, but I cannot control gray-out of a
specific Radiobutton.

        If I:

        counter=0
        for mode, text ....
                c[counter] = Radiobuton(specified_frame,..
                c[counter].pack()
                counter += 1
        .
        .
        blockUseOf= $varSetElsewhere
        c[blockUseOf].config(state = strSetElsewhere)

Program crashes on Radiobutton line.

There are a number of Frames containing Radiobuttons in the program.
The individual lists are long enough no one in their right mind wants to
hand code such repetition and then try to maintain it. Not even with a
code generator. (Number and organization will change over time.)
How do I set things to be able to control any given Radiobutton from
elsewhere in the program and still use the for-loop loader?


Steve



</div>

Try posting as text.  The html tags in the message are distracting.

I don't know tkinter, but I can see a problem with your code. You're using the [] operators on c, but you never initialize c. Of course, you have a tiny fragment of code, and we're supposed to guess the rest. But normally, when you build a list, you start with:
    mylist = []
    for   xxxx  in yyyy:
           c =  ....new widget....
           mylist.append(c)

Now, c is just temporary, but mylist contains reference to all the widgets. So later on, you can use mylist[42] to get button# 42.

A separate problem is that mylist should be a member of a class derived from the frame widget, or something like that. So if this code is part of an __init__ method of a class, there are a few "self" items needed.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to