newbie needs help with tkinter

Bertrand Geston bergeston at yahoo.fr
Mon Mar 11 08:00:19 EST 2002


Beeing newbie myself, I played with you code, here is the result:

-----------------------------------------------------------
from Tkinter import *

class Application(Frame):
    def __init__(self,master=None):
        Frame.__init__(self,master)
        menubar=self.addmenubar()
        master.config(menu=menubar)
        w=Label(self,fg="green",text="*")
        self.pack()
        w.grid()

    def addmenubar(self):
        menubar=Menu()
        filemenu=Menu(menubar)
        menubar.add_cascade(menu=filemenu,label="File")
     filemenu.add_command(label="Configura", command=self.configframe)
        filemenu.add_command(label="Lavora")
        return menubar

    def configframe(self):
        self.config(bg="yellow")
        w=Label(self,fg="blue",text="prova")
        w.grid()
        self.update_idletasks()
        print "hello!"

#main

root=Tk()
applicazione=Application(root)
root.mainloop()

-----------------------------------------------------------

"Sacchi" <sacchi at nospamfreemail.it> wrote in message
news:1Myi8.13667$%d1.409160 at twister2.libero.it...
> I've just learned the main rules of python(I already knew both java and
> C). Now I'm trying to get something out of Tkinter, but while running
> this sample program (made by myself) I encountered a problem. I wanted
> that by clicking on the "configura" command under the "File" menu the
> frame would get yellow and that a label would appear on it. The
> function works(the line "print "hello!"" gets executed) but the gui
> window doesn't change. I even tried to use the widget redraw methods
> but with no success... anyone can help me please?
>
> Thanks in advance
> Marco
>
> --------- Program Code ----------------------
>
> from Tkinter import *
>
> class Application(Frame):
>
>         def __init__(self,master=None):
>                 Frame.__init__(self,master)
>                 menubar=self.addmenubar()
>                 master.config(menu=menubar)
>                 menubar.mainloop()
>
>         def addmenubar(self):
>                 menubar=Menu()
>                 filemenu=Menu(menubar)
>                 menubar.add_cascade(menu=filemenu,label="File")
> #these lines got shifted by the newsreader program, but all belong to
> #the addmenubar function
> filemenu.add_command(label="Configura"command=self.configframe)
>         filemenu.add_command(label="Lavora")
>                 return menubar
>
>         def configframe(self):
>                 self.set(bg="yellow")
>                 w=Label(self,fg="blue",text="prova")
>                 w.grid()
>                 self.update_idletasks()
>                 print "hello!"
>
> #main
>
> root=Tk()
> applicazione=Application(root)
> root.mainloop()
> --
> -----------------------------------------------------
> remove "nospam" from email address to answer
> -----------------------------------------------------





More information about the Python-list mailing list