问题描述
如果我按下x轴,则创建一个带有50的按钮。如果按下按钮不动,是的,它会更改值,但不会动。我尝试了一个while循环,但它使程序崩溃了。
解决方法
通常,我们使用pack
和grid
几何管理器来处理Tk中的小部件放置。但是,如果您想要明确控制放置位置,则可以使用place
来指定像素或相对坐标中的位置。
这是一个内部带有按钮的框架的示例,单击该按钮时该框架会移动。请注意,按钮相对于其父容器放置,因此会随框架一起移动。
import tkinter as tk
import tkinter.ttk as ttk
class App(ttk.Frame):
def __init__(self,master,**kwargs):
super(App,self).__init__(master=master,**kwargs)
master.wm_geometry('640x480')
self.frame = f = tk.Frame(self,width=200,height=80,relief=tk.SUNKEN,borderwidth=2)
b = ttk.Button(f,text="Move",command=self.move_frame)
b.place(x=2,y=2)
f.place(x=2,y=2)
self.place(relheight=1.0,relwidth=1.0)
def move_frame(self):
x = self.frame.winfo_x()
x = x + 10
self.frame.place(x=x)
def main():
root = tk.Tk()
app = App(root)
root.mainloop()
if __name__ == '__main__':
main()