In article <mailman.3861.1324379384.27778.python-l...@python.org>, Gabor Urban <urbang...@gmail.com> wrote: > Hi, > > I am quite newbie with Tkinter and I could not find the way to set the > size of the application. (I could find the method to make it > resizeable, though :-)) ) Any ideas, suggestions or links to > references are wellcome.
Usually, the best way is to use the geometry method on instances of Tk or Toplevel. For example, if you have a variable named root which is the instance of Tk, you can do: root.geometry('500x400') This will make the window 500 pixels wide and 400 pixels high. > Here is my code: > > from Tkinter import * > > class Application(Frame): > def say_hi(self): > self.db += 1 > print 'hi there, -->> UG everyone! db = %d'%self.db > > ## TODO: meretezhetoseg > def createWidgets(self): > top = self.winfo_toplevel() > top.rowconfigure(0,weight = 1) > top.columnconfigure(0,weight = 1) > self.rowconfigure(0,weight = 1) > self.columnconfigure(0,weight = 1) > self.QUIT = Button(self) > self.QUIT["text"] = "QUIT" > self.QUIT["fg"] = "red" > self.QUIT["command"] = self.quit > > self.QUIT.pack({"side": "left"}) > > self.hi_there = Button(self) > self.hi_there["text"] = "Hello", > self.hi_there["command"] = self.say_hi > > self.hi_there.pack({"side": "left"}) > > def __init__(self, master=None): > Frame.__init__(self, master) > self.pack() > self.createWidgets() > self.db = 0 > > app = Application() > app.master.title('UG test') > app.mainloop() Where did you find an example code looking like this? This looks like veeeeeery old conventions for Tkinter programsĀ For example, there's no need at all to do: self.QUIT = Button(self) self.QUIT["text"] = "QUIT" self.QUIT["fg"] = "red" self.QUIT["command"] = self.quit This can be done in a single line: self.QUIT = Button(self, text='QUIT', fg='red', command=self.quit) The same goes for self.QUIT.pack({"side": "left"}). Nowadays, this is always written self.QUIT.pack(side="left"). And you should avoid creating only an instance of Frame. This actually creates a window, but it's a side-effect. Windows are created by instantiating Tk for the main one, and Toplevel for all others. Having only a Frame will cause problems later, for example if you want to add a menu to the window: You can do so on instances of Tk or Toplevel, but not on framesĀ HTH - Eric -
-- http://mail.python.org/mailman/listinfo/python-list