2021年2月10日星期三

Calling tk.Tk() once but unexpectedly get two windows?

I am using python 3.8.5 and tkinter 8.6. I am learning to use tkinter. I was trying to make a simple form but for some reason I get two windows when I run my code. One of these windows has everything I am expecting with all the details I expect, but then there is a second unexepected uncallwed window with nothing in it. I cannot tell from my code why there is a second window as I only have one line where I call window.mainloop() as well as I only create 1 window variable.

import tkinter as tk    WIDTH=50  HEIGHT=1  BG="white"  FG="black"    COMPONENTS_MAP = (      {"label":"Name","type":"text"},      {"label":"Description","type":"text_area"},      {"type":"submit"}  )        COMPONENTS = []    for mapping in COMPONENTS_MAP:      if mapping["type"] == "text_area":          COMPONENTS.append(              tk.Label(                  text=mapping["label"],                  foreground=FG,                  background=BG,                  width=WIDTH              )          )          COMPONENTS.append(              tk.Text(                  fg=FG,                  bg=BG,                  width=WIDTH,                  height=3              )          )      if mapping["type"] == "text":          COMPONENTS.append(              tk.Label(                  text=mapping["label"],                  foreground=FG,                  background=BG,                  width=WIDTH              )          )          COMPONENTS.append(              tk.Entry(                  fg=FG,                  bg=BG,                  width=WIDTH              )          )      if mapping["type"] == "submit":          COMPONENTS.append(              tk.Button(                  text="Submit",                  width=WIDTH,                  height=HEIGHT,                  bg=BG,                  fg=FG              )          )    window = tk.Tk()    for component in COMPONENTS:      component.pack()    window.mainloop()  

Looks like this

two windows

https://stackoverflow.com/questions/66147390/calling-tk-tk-once-but-unexpectedly-get-two-windows February 11, 2021 at 09:05AM

没有评论:

发表评论