【发布时间】:2022-01-16 11:50:17
【问题描述】:
下面脚本中的on_change_order方法如何实现?
import tkinter as tk
root = tk.Tk()
# Inserts labels 1 and 2 in sequence, using .pack() method
label1 = tk.Label(root, text="Label 1", bg="red", fg="white")
label1.pack(padx=5, pady=15, side=tk.LEFT)
label2 = tk.Label(root, text="Label 2", bg="green", fg="white")
label2.pack(padx=5, pady=20, side=tk.LEFT)
def on_change_order():
"""Swaps the .pack() order of the labels 1 and 2 appearing before the button."""
pass # How can this be done?
button = tk.Button(root, text='Change order', command=on_change_order)
button.pack()
root.mainloop()
当应用打开时,标签 1 首先出现,标签 2 出现在第二个。但是,当我单击“更改订单”按钮时,我希望标签切换位置。也就是说,我想让回调 on_change_order 改变一些东西,然后让 Label 2 首先出现,Label 1 出现在第二次。
也就是说,你如何改变https://www.tcl.tk/man/tcl8.6/TkCmd/pack.html#M27中提到的“装箱单”的元素顺序?
【问题讨论】:
-
使用
grid()交换小部件更容易。