Windows 7, python 3.8
Код:
Есть окно в котором создаётся кнопка с функцией которая создаёт дочерние окно, в нём нужно написать название файла, выбрать путь файла и нажать на "Сохранить", после этого срабатывает функция которая закрывает окно "root2" и создаётся кнопка с функцией которая создаёт третье окно и добавляет туда кнопку с текстом filename. Но дело в том что если создать два таких раздела и поместить допустим в первый гугл а во второй яндекс то в обоих разделах меняется файл который создавался во втором разделе.
Код:
Python:
from tkinter import *
from tkinter.filedialog import askopenfilename
razdels_name = " "
razdels_and_file_list = {}
razdels_btn = []
files_razdel_list = []
file_razdels_name = ""
root3 = None
i = 0
i1 = 0
m2 = []
def open_file_razdel(x_file_razdel):
print(x_file_razdel)
#Создание окна, открытие раздела
def open_razdel2(x_razdel):
global p, file_razdel_name, files_razdel_list, files_razdel, razdels_and_file_list, file
m7 = globals()[razdels_name] = {}
i1 =+ 1
if i1 >= 2 :
root3.destroy()
root3 = Tk()
root3["bg"] = "#1A1A36"
files_razdel_list.append(filename)
for file_razdel_name in files_razdel_list:
files_razdel = lambda x_file_razdel=file_razdels_name:files_razdel1(x_files_razdel)
m4 = Button(root3, text = filename, bg ="#1A1A36", fg = "white").grid()
razdels_and_file_list[x_razdel] = filename
#добавление объекта в окно
def save_razdel():
global m1, razdels_name, m5, m6, m2, i
i += 1
root2.withdraw()
if i >= 2:
for i in m2:
i.grid_forget()
razdels_btn.append(entry_dobavit_nazvanie.get())
for razdels_name in razdels_btn:
open_razdel1 = lambda x_razdel=razdels_name:open_razdel2(x_razdel)
m1 = Button(root1, text = razdels_name, bg ="#1A1A36", fg = "white", width = 15, activebackground = "#080429", command = open_razdel1)
m1.grid()
m2.append(m1)
#выбор файла
def vibor_file_razdel():
global filename
filename = askopenfilename() #Открытие окна с фалами
#создание окна для добавления объектов в окно
def dobavit_razdel():
global message_nazvanie_radel, root2, entry_dobavit_nazvanie, root1, root2, btn_dobavit_file
root2 = Toplevel(root1)
root2["bg"] ="#1A1A36"
message_nazvanie_radel = StringVar()
message_file_razdel = StringVar()
labl_dobavit_nazvanie = Label(root2, text = "Добавить название", bg ="#1A1A36", fg = "white", width = 15)
labl_dobavit_nazvanie.grid()
entry_dobavit_nazvanie = Entry(root2,textvariable=message_nazvanie_radel, bg ="#1A1A36", fg = "white", width = 15)
entry_dobavit_nazvanie.grid()
btn_dobavit_file = Button(root2, text = "Добавить файл", bg ="#1A1A36", fg = "white", width = 15, activebackground = "#080429", command= vibor_file_razdel)
btn_dobavit_file.grid()
btn_save = Button(root2,text="Сохранить", command=save_razdel, bg ="#1A1A36", fg = "white", width = 15, activebackground = "#080429")
btn_save.grid()
root1 = Tk()
root1["bg"] ="#1A1A36"
btn_dobavit_razdel = Button(root1, text = "Добавить раздел", bg ="#1A1A36", fg = "white", width = 15, activebackground = "#080429", command = dobavit_razdel)
btn_dobavit_razdel.grid(column = 0, row = 0)
root1.mainloop()