Python 如何在tkinter中移动带有按钮的帧?
我做了一个按钮,如果我按下它,x轴加上50。如果我按下按钮,它不移动,是的,它改变了值,但不移动。我尝试了一个while循环,但它使程序崩溃。通常我们使用Python 如何在tkinter中移动带有按钮的帧?,python,tkinter,int,Python,Tkinter,Int,我做了一个按钮,如果我按下它,x轴加上50。如果我按下按钮,它不移动,是的,它改变了值,但不移动。我尝试了一个while循环,但它使程序崩溃。通常我们使用pack和grid几何体管理器来处理Tk中的小部件放置。但是,如果要显式控制放置,则可以使用place,它允许您以像素或相对坐标指定位置 下面是一个框架的示例,框架内有一个按钮,单击按钮时按钮会移动。请注意,按钮是相对于其父容器定位的,因此会随框架移动 import tkinter as tk import tkinter.ttk as ttk
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()
欢迎来到堆栈溢出。请在问题中包含您的代码,以便用户能够识别您的实现中的任何问题。是的,我知道如何使用.pack或.grid,但唯一的问题是当我加上x轴或y轴时,它根本不移动