我想知道如何更改按钮的坐标和大小。我知道你可以做button1.pack(side=RIGHT)
但如果我想说button1.pack(x=100, y=40)
怎么办?我试过了button1.geometry
,但是没有用。
答案:
我做了button1.place(x=0, y=0)
,按钮转到了顶角。
如果有人好奇,这是我使用的代码:
from tkinter import *
t = Tk()
t.title("Testing")
t.geometry("250x250")
MyButton = Button(t, text="Click Me")
MyButton.pack()
def Clicked(event):
MyButton.place(x=0, y=0)
MyButton.bind("<Button-1>" ,Clicked)
MyButton.pack()
t.mainloop()
答案 0 :(得分:1)
Tkinter
有三个布局管理器
您可以将x,y
与place()
一起使用,但是您不应该使用其他自动计算位置的管理员,当您使用pack()
手动输入内容时,他们可能会遇到问题。
但您可以Frame
(使用place()
)并使用Frame
内的其他管理员
pack()
和grid()
更受欢迎,因为它们会在您更改尺寸或在不同系统上使用时自动计算位置。
几天前为其他问题创建的示例。
Button
将Frame
移动到随机位置。
编辑:现在Button
将自己移动到随机位置并更改高度。
import tkinter as tk
import random
# --- function ---
def move():
#b.place_forget() # it seems I don't have to use it
# to hide/remove before I put in new place
new_x = random.randint(0, 100)
new_y = random.randint(0, 150)
b.place(x=new_x, y=new_y)
b['height'] = random.randint(1, 10)
# --- main ---
root = tk.Tk()
b = tk.Button(root, text='Move it', command=move)
b.place(x=0, y=0)
root.mainloop()