Hi, Thus spoketh Vasilis Vlachoudis <vasilis.vlachou...@cern.ch> unto us on Wed, 19 Jan 2011 07:46:39 +0000:
> Hi all, > > How can I create a checkbutton with the text-label on the left > Checkbutton(frame, text="Label", variable=...) > Label [x] > > The standard one has the button on the left and the label on the right > [x] Label > > I didn't find any option to change the order. > > I don't want to create the label and the button separetly since this > will destroy most of my grid layouts I think you should create a custom CheckButton class that packs a Checkbutton without text and a separate Label into a Frame, like this example (which is mainly stolen from ScrolledText.py): from Tkinter import * class CheckButton(Checkbutton): def __init__(self, master=None, **kw): self.frame = Frame(master) self.label = Label(self.frame) self.label.pack(side='left', fill='x') if kw.has_key('text'): self.label.configure(text=kw['text']) del(kw['text']) Checkbutton.__init__(self, self.frame, **kw) self.pack(side='right') # Copy geometry methods of self.frame -- hack! methods = vars(Pack).keys() + vars(Grid).keys() + vars(Place).keys() for m in methods: if m[0] != '_' and m != 'config' and m != 'configure': setattr(self, m, getattr(self.frame, m)) def __str__(self): return str(self.frame) if __name__ == '__main__': root = Tk() c = CheckButton(root, text='foobar') c.pack() root.mainloop() Regards Michael .-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-. You humans have that emotional need to express gratitude. "You're welcome," I believe, is the correct response. -- Spock, "Bread and Circuses", stardate 4041.2 _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss