【问题标题】:How to Move a button from one frame to another on click using tkinter?如何使用 tkinter 在单击时将按钮从一帧移动到另一帧?
【发布时间】:2021-05-25 04:37:01
【问题描述】:

我有 2 个框架,其中一个有一个“单击”按钮。单击该按钮时,应从原始框架中销毁相同的按钮并移至框架2。如何使用 tkinter 实现。

【问题讨论】:

  • 您不能将小部件从一帧移动到另一帧。您需要从一帧销毁小部件并在另一帧中创建新的。
  • 我真正想知道的是,是否有一种方法可以从一个框架中销毁一个小部件,并在新框架上创建一个与被销毁的小部件具有相同属性的新小部件。在这种情况下,小部件是按钮,新创建的按钮的文本部分应该与销毁的相同。
  • 您可以使用.config()获取按钮的大部分配置(不包括对功能的引用)。然后使用此配置再次创建按钮。

标签: python tkinter tkinter-canvas tkinter-layout


【解决方案1】:

有两个框架frame1frame2 首先我们要使用pack() 显示这个按钮。现在我们要在my_btn 的命令上添加功能,然后我们要销毁该按钮并在第二帧中重新定义它。

最终代码:

from tkinter import *
window = Tk()
frame1 = Frame(window, width=50, height=50, bg='red')
frame2 = Frame(window, width=50, height=50, bg='blue')
frame1.propagate(0); frame2.propagate(0)
frame1.pack(); frame2.pack()

def click():
    global my_btn
    my_btn.destroy()
    my_btn = Button(master=frame2)
    my_btn.pack()

my_btn = Button(master=frame1, command=click)
my_btn.pack()

window.mainloop()

希望这行得通。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 2015-10-02
    相关资源
    最近更新 更多