Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
I have a couple of tcl/tk scripts I want to convert to Python for a couple of reasons: 1. Python is a better programming language than tcl. 2. Noone else in my group knows tcl/tk 3. One of the products that the tcl/tk application interfaces with uses Python for its installerand I can clean up the interface. The only issue I have at the moment is using the LabelFrame widget. In one of the applications, I am using a tcl/tk labelframe and it works fine, but not in Python. I don't have to use the LabelFrame but it separates these radio buttonsfrom text boxes later on in the application. I've tried things like adding columnconfigure(), but that had no effect. #!/usr/bin/python import Tkinter # define class lfex_tk(Tkinter.Tk): def __init__(self,parent): Tkinter.Tk.__init__(self,parent) self.parent = parent self.initialize() def initialize(self): self.grid() self.command = Tkinter.StringVar() self.entry = Tkinter.Entry(self,width=60,textvariable=self.command) self.entry.grid(column=0,row=0,sticky='EW') self.command.set(u"Enter data") ### define buttons run = Tkinter.Button(self,text=u"data", command=self.OnRunButtonClick) self.labelVariable = Tkinter.StringVar() kwit = Tkinter.Button(self,text=u"Quit", command=self.OnQuitButtonClick) ### Set up the grids for row 0 run.grid(column=1,row=0) kwit.grid(column=6,row=0, sticky='E') self.resizable(True, True) self.update() self.geometry(self.geometry()) self.entry.focus_set() self.entry.selection_range(0, Tkinter.END) radios = Tkinter.LabelFrame(self,borderwidth=10,text="Commands") radios.grid(column=0,row=3, padx=5, pady=5) whichCMD = Tkinter.StringVar() radios.one = Tkinter.Radiobutton(radios, text="One", variable=whichCMD, value="One") radios.two = Tkinter.Radiobutton(radios, text="Two", variable=whichCMD, value="Two") radios.three= Tkinter.Radiobutton(radios, text="Three", variable=whichCMD, value="Three") ## Default to radio button 1 radios.one.select() self.update() ## Button Actions def OnQuitButtonClick(self): app.destroy() def OnRunButtonClick(self): # does nothing for this example self.entry.focus_set() self.entry.selection_range(0, Tkinter.END) if __name__ == "__main__": app = lfex_tk(None) app.title('LabelFrameTest') app.mainloop() -- Jerry Feldman <gaf at blu.org> Boston Linux and Unix PGP key id:3BC1EB90 PGP Key fingerprint: 49E2 C52A FC5A A31F 8D66 C0AF 7CEA 30FC 3BC1 EB90
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |