我已经在Tkinter中创建了一个“表格”,但作为与OptionMenu关联的单独函数,我创建了另一个需要根据选择添加/删除的框架。我的代码如下:等大小'表格'框架和删除单个框架
def ChoiceBox(choice):
choice_frame = Frame(win1, bg='black')
choice_frame.grid(row=2, column=1, sticky="ew", padx=1, pady=1)
column = 0
if choice == "Fixed":
choice_frame.grid_forget()
tkMessageBox.showinfo("Message", "Fixed.")
elif choice == "List":
i = [0, 1, 2, 3]
for i in i:
choice_title = Label(choice_frame, text='Value %g'% float(i+1), bg='white', borderwidth=0, width=0)
choice_title.grid(row=0, column=column+i, sticky="nsew", padx=1, pady=1)
box = Entry(choice_frame, bg='white', borderwidth=0, width=0)
box.grid(row=1, column=column+i, sticky="ew", padx=1, pady=1)
elif choice == "Between" or "Bigger":
i = [0, 1]
choice_title1 = Label(choice_frame, text='Min Value', bg='white', borderwidth=0, width=0)
choice_title1.grid(row=0, column=column, sticky="nsew", padx=1, pady=1)
choice_title2 = Label(choice_frame, text='Max Value', bg='white', borderwidth=0, width=0)
choice_title2.grid(row=0, column=column+1, sticky="nsew", padx=1, pady=1)
for i in i:
box = Entry(choice_frame, bg='white', borderwidth=0, width=0)
box.grid(row=1, column=column+i, sticky="nsew", padx=1, pady=1)
我目前得到两个独立的表,但choice_frame“表”不是尺寸与其他同一个。因此,我希望将此表格作为第一张表格的框架的一部分(然后以某种方式删除本节),我已经开始工作了。另一个框架是frame_table(我制作原始表格的那个框架),并希望加入这个框架。
否则我想保持它像一个单独的表,但我不能让它消失选择'固定'。此代码纯粹是我之前创建的OptionMenu的命令。任何帮助,我将不胜感激!谢谢。
更新:现在需要根据选择获取每行的单独帧(请参阅下图)。我在这非常挣扎!
我很困惑你要在这里做什么。你说的另一个框架是什么('win1'也许?)?每次你调用这个函数,你都在创建一个新的框架。我认为你想持有对创建框架的引用,然后决定是将它放在网格上还是“grid_forget”它(或者可能会销毁旧的“Frame”,然后用新的框架替换它)... – mgilson
另一个框架是我在其中创建表格并且不是根框架。当我想根据选择做几件不同的事情时,我觉得我很困惑。 – user2063
当我按下按钮时,我期待从这些Entry小部件中获取值,但是我正在混合所有的定义。我会如何去做这件事? – user2063