У меня есть кнопка, чтобы открыть новое окно в моем коде, и я пытался заставить кнопку открыть новое окно с именем "newest_release_window", имея в виду 2 вещи:
- Если «newest_release_window» не открыто, откройте окно.
- Если открыто «newest_release_window», установите фокус на указанное окно, но не открывайте новое окно.
К сожалению, это становилось слишком сложным, и я не могу понять, как это сделать. Проблема в том, что я не могу заставить код определить, открыто ли "newest_release_window" или нет, и изменить переменную в соответствии с этим.
welcome_window = Tk()
welcome_window.title("Games R Us")
welcome_window.geometry("360x350")
welcome_window.configure(bg = "gold")
currentDisplay = 10
newest_release_windowtracker = 0
gui_font_5 = ("Helvetica", 5, "bold")
gui_font_10 = ("Helvetica", 10, "bold")
gui_font_15 = ("Helvetica", 15, "bold")
gui_font_20 = ("Helvetica", 20, "bold")
space_between = (5)
button_variable = IntVar()
def newwindow_newest_release():
global newest_release_windowtracker
newest_release_window = Tk()
newest_release_window.title("Games R Us")
newest_release_window.geometry("360x350")
newest_release_window.configure(bg = "greenyellow")
currentDisplay = 10
display = Label(newest_release_window, text="Humm, see a new window !",
bg ="limegreen")
display.pack()
newest_release_window.withdraw()
if newest_release_windowtracker == 0:
newest_release_window.deiconify()
newest_release_windowtracker = 1
elif newest_release_windowtracker == 1:
newest_release_window.focus_set()
elif newest_release_window.winfo_exists == 0:
newest_release_window = Tk()
ww_newest_release = Button(welcome_window,
text = "Newest Release", bg = "goldenrod", font = "Helvetica 10",
width = 12, command = newwindow_newest_release)
Примечание: это не полный код, я просто собрал самые важные части, чтобы понять, в чем проблема.