如何访问位于标签框架内的标签框架中的动态标签?

时间:2019-07-24 16:14:18

标签: python tkinter

我正在尝试访问LabelFrame X中子项(标签)的文本/值,其中X本身在LabelFrame Y中,子项数在tkinter中更改。

有解决这个问题的简便方法吗?

我在下面提供了我的代码的简化版本。本质上,标签的数量根据某些输入(在示例中是随机的)而变化。 稍后我要做的是编写一个for循环,该循环将访问每个标签,然后根据文本/值将标签替换为新标签,或移至下一个标签。

import tkinter as tk
from tkinter import ttk
import numpy as np

win = tk.Tk()
LabelFrame_level_one = ttk.LabelFrame(text = " Level 1 ")
LabelFrame_level_one.grid(column = 0, row = 0, padx = 8, pady = 4)

def click_update_button():
    delete_old_labels = LabelFrame_level_one.grid_slaves()
    for labels_ in delete_old_labels:
        labels_.destroy()

    dynamic_number = max(round(np.random.rand() * 10), 1)

    LabelFrame_level_two = ttk.LabelFrame(LabelFrame_level_one, text=" Level 2 ")
    LabelFrame_level_two.grid(column=1, row=2, padx=4, pady=4, sticky="W")

    for i in range(dynamic_number):
        ttk.Label(LabelFrame_level_two, text="Dynamic entry" + str(i)).grid(column=0, row= i, pady=3)


Update_Button = ttk.Button(win, text="Update", command=click_update_button)
Update_Button.grid(column=1, row=0)

win.mainloop()

0 个答案:

没有答案