Я пишу программу, которая будет работать по алгоритму(то есть при нажатии на какие то кнопки может появиться ещё окно или появиться финальное окно с результатом, а от Toplevel(opennewwindow(1)) при нажатии на кнопок должно появиться ещё окно) я написал основной код этой программы, но у меня не получилось вставить фоновое изображение на все окна, а также сделать полноэкранный режим для всех окон и закрывать предыдущие окна. Вот код(версия питона - 3.10)
from tkinter import * #Выводит библиотеку окон
from tkinter.ttk import * #Выводит библиотеку дополнительных окон
master = Tk()#Названии опции
master.geometry("1920x1080")#Размер окна
master.title("Окно")#Названия окна\
bg=PhotoImage("C:/Users/User/AppData/Local/Programs/Python/Python310/draw.jpg")
def openNewWindow():#Опция нового окна
newWindow = Toplevel(master)##Названии опции нового окна
newWindow.title("Второе окно")#Названия окна нового окна
newWindow.geometry('1920x1080')#Размер окна нового окна
Label(newWindow, #Начало титульного вопроса нового окна
text ="Вопрос №2").pack()# Конец титульного вопроса нового окна
btn = Button(newWindow,#Начало кнопки нового окна
text ="Да",#середина кнопки нового окна
command = openNewWindow)#Конец кнопки нового окна
btn.pack(pady = 10)#Оформление кнопки нового окна
btn = Button(newWindow,##Начало второй кнопки нового окна
text ="нет",#середина второй кнопки нового окна
command = openNewWindow1)#Конец второй кнопки нового окна
btn.pack(pady = 10)#Оформление второй кнопки нового окна
master.withdraw()
openNewWindow1.withdraw()
def openNewWindow1():##Опция нового dd второго окна
newWindow1 = Toplevel(master)###Названии опции нового окна
newWindow1.title("Третье окно")##Названия окна нового окна
newWindow1.geometry('1920x1080')##Размер окна нового окна
Label(newWindow1, ##Начало титульного вопроса нового окна
text ="Вопрос №3").pack()## Конец титульного вопроса нового окна
btn = Button(newWindow1,##Начало кнопки нового окна
text ="Да",##середина кнопки нового окна
command = openNewWindow)##середина кнопки нового окна#Конец кнопки нового окна
btn.pack(pady = 10)##Оформление кнопки нового окна
btn = Button(newWindow1,###Начало второй кнопки нового окна
text ="нет",##середина второй кнопки нового окна
command = openNewWindow2)##Конец второй кнопки нового окна
btn.pack(pady = 10)##Оформление второй кнопки нового окна
master.withdraw()
openNewWindow.withdraw()
def openNewWindow2():##Опция нового dd третьего окна
newWindow2 = Toplevel(master)###Названии опции нового третьего окна
newWindow2.title("Третье окно")##Названия окна нового третьего окна
newWindow2.geometry('1920x1080')##Размер окна нового третьего окна
Label(newWindow2, ##Начало титульного вопроса нового третьего окна
text ="Вопрос №4").pack()## Конец титульного вопроса нового третьего окна
btn = Button(newWindow2,##Начало кнопки нового третьего окна
text ="Да",##середина кнопки нового третьего окна
command = openNewWindow)##середина кнопки третьего нового окна#Конец кнопки нового третьего окна
btn.pack(pady = 10)##Оформление кнопки нового третьего окна
btn = Button(newWindow2,###Начало второй кнопки нового третьего окна
text ="нет",##середина второй кнопки нового третьего окна
command = openNewWindow1)##Конец второй кнопки нового третьего окна
btn.pack(pady = 10)##Оформление второй кнопки нового третьего окна
master.withdraw()
openNewWindow.withdraw()
background = PhotoImage()
label = Label(master, image=bg, #Вопрос основного окна(начало)
text ="Вопрос №1")##Вопрос основного окна(середина)
label.place(x=0, y=0)
label.pack(pady = 10)##Оформление основного окна(оформление)
btn = Button(master, ##Кнопка основного окна(начало)
text ="Да", ##Кнопка основного окна(середина)
command = openNewWindow)##Кнопка основного окна(середина)
btn.pack(pady = 10)##Оформление основного окна(начало)
btn = Button(master, ##Кнопка основного окна(начало)
text ="Нет", ##Кнопка основного окна(середина)
command = openNewWindow1)##Кнопка основного окна(середина)
btn.pack(pady = 10)##Оформление основного окна(начало)
btn.pack(pady = 10)#
mainloop()#Конец цикла и запуск команды
Когда я нажимаю на кнопки в программе, появляется вот такая ошибка, и в первом окне исчезает текст, и не появляется фоновое изображение:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "C:/Users/User/AppData/Local/Programs/Python/Python310/sffsfsf.py", line 27, in openNewWindow
openNewWindow1.withdraw()
AttributeError: 'function' object has no attribute 'withdraw'
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "C:/Users/User/AppData/Local/Programs/Python/Python310/sffsfsf.py", line 27, in openNewWindow
openNewWindow1.withdraw()
AttributeError: 'function' object has no attribute 'withdraw'
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "C:/Users/User/AppData/Local/Programs/Python/Python310/sffsfsf.py", line 45, in openNewWindow1
openNewWindow.withdraw()
AttributeError: 'function' object has no attribute 'withdraw'
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "C:/Users/User/AppData/Local/Programs/Python/Python310/sffsfsf.py", line 63, in openNewWindow2
openNewWindow.withdraw()
AttributeError: 'function' object has no attribute 'withdraw'
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "C:/Users/User/AppData/Local/Programs/Python/Python310/sffsfsf.py", line 45, in openNewWindow1
openNewWindow.withdraw()
AttributeError: 'function' object has no attribute 'withdraw'
<code lang="python">