如何在Tkinter中使用按钮移动框架?

问题描述

如果我按下x轴,则创建一个带有50的按钮。如果按下按钮不动,是的,它会更改值,但不会动。我尝试了一个while循环,但它使程序崩溃了。

解决方法

通常,我们使用packgrid几何管理器来处理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()

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...