这个问题在这里已有答案:
我怎样才能调整root
窗口的大小?
try: # In order to be able to import tkinter for
import tkinter as tk # either in python 2 or in python 3
except ImportError:
import Tkinter as tk
root = tk.Tk()
tk.mainloop()
我怎样才能调整window
的大小?
try: # In order to be able to import tkinter for
import tkinter as tk # either in python 2 or in python 3
except ImportError:
import Tkinter as tk
root = tk.Tk()
window = tk.Toplevel(root)
tk.mainloop()
可以使用Tk
方法设置窗口的大小(无论是Toplevel
实例还是geometry
实例):
# identical to root.geometry('256x512')
root.geometry('{}x{}'.format(256, 512))
要么:
# identical to window.geometry('512x256')
window.geometry('{}x{}'.format(512, 256))
另外,使用几何方法还可以确定窗口的左上角:
window.geometry('+{}+{}'.format(16, 32))
或者两者同时:
#identical to window.geometry('512x256+16+32')
window.geometry('{}x{}+{}+{}'.format(512, 256, 16, 32))
更常见的是,人们可以使用winfo_toplevel
来轻松设置窗口的大小:
widget.winfo_toplevel().geometry('{}x{}+{}+{}'.format(512, 256, 16, 32))
这是一个通过子窗口小部件的引用设置窗口大小和放置坐标的示例:
try: # In order to be able to import tkinter for
import tkinter as tk # either in python 2 or in python 3
except ImportError:
import Tkinter as tk
def on_button_press(widget):
width = 512
height = 256
x = 16
y = 32
widget.winfo_toplevel().geometry('{}x{}+{}+{}'.format(width, height, x, y))
if __name__ == '__main__':
root = tk.Tk()
window = tk.Toplevel(root)
button = tk.Button(window, text="Resize & Place")
#the line below is related to calling a method when a button is pressed
button['command'] = lambda w=button: on_button_press(w)
button.pack()
tk.mainloop()