Приветствую.
Просьба помочь с настигнувшей проблемой. В программировании новичок, поэтому хотелось бы услышать ваши советы и рекомендации.
Столкнулся со следующей проблемой…
На основе строк из текстового файла формирую меню Checkbutton.
Строки в файле разделены символом “*”: первая часть - текст кнопки Checkbutton, вторая - значение “onvalue”
Нужно определить какие из кнопок Checkbutton отмечены галочкой и записать “onvalue”-значения этих кнопок в другой файл. Но, сделать это никак не получается.
Помогите, кто чем может ))
Ниже - моя попытка написать скрипт:
...
#Рисуем Checkbutton-меню на основе строк в файле
i=1
u=2
root.vars={}
for q in app0:
root.var=StringVar()
x0 = q.split('*')[0]
x1 = q.split('*')[1]
ch0 = Checkbutton(canvas0,text=x0,variable=root.var,onvalue='x1',offvalue='')
ch0.grid(row=u,column=i,ipadx=45,padx=2,pady=10,sticky='nsew')
ch0.grid_propagate(False)
#print(x1)
if i<4:
i+=1
else:
u+=1
i=1
root.vars[q] = root.var
#Подключаем метод, т.к. есть возможность выбрать файл откуда считаются строки
def checkr(event):
v = countryvar.get()
if v == file[0]:
if canvas1.winfo_viewable():
canvas1.pack_forget()
elif canvas2.winfo_viewable():
canvas2.pack_forget()
elif canvas3.winfo_viewable():
canvas3.pack_forget()
canvas0.pack(side=LEFT,fill=BOTH,expand=True)
canvas0.pack_propagate(False)
elif v == file[1]:
if canvas0.winfo_viewable():
canvas0.pack_forget()
elif canvas2.winfo_viewable():
canvas2.pack_forget()
elif canvas3.winfo_viewable():
canvas3.pack_forget()
canvas1.pack(side=LEFT,fill=BOTH,expand=True)
canvas1.pack_propagate(False)
i=1
u=2
root.vars={}
for q in app1:
x0 = q.split('*')[0]
x1 = q.split('*')[1]
root.var=StringVar()
ch1 = Checkbutton(canvas1,text=x0,variable=root.var,onvalue=x1,offvalue='')
ch1.grid(row=u,column=i,ipadx=45,padx=2,pady=10,sticky='nsew')
ch1.grid_propagate(False)
if i<4:
i+=1
else:
u+=1
i=1
ch1.state(['selected'])
root.vars[q] = root.var
elif v == file[2]:
if canvas0.winfo_viewable():
canvas0.pack_forget()
elif canvas1.winfo_viewable():
canvas1.pack_forget()
elif canvas3.winfo_viewable():
canvas3.pack_forget()
canvas2.pack(side=LEFT,fill=BOTH,expand=True)
canvas2.pack_propagate(False)
i=1
u=2
root.vars={}
for q in app2:
x0 = q.split('*')[0]
x1 = q.split('*')[1]
root.var=StringVar()
ch2 = Checkbutton(canvas2,text=x0,variable=root.var,onvalue=x1,offvalue='')
ch2.grid(row=u,column=i,ipadx=45,padx=2,pady=10,sticky='nsew')
ch2.grid_propagate(False)
if i<4:
i+=1
else:
u+=1
i=1
ch2.state(['selected'])
root.vars[q] = root.var
elif v == file[3]:
if canvas1.winfo_viewable():
canvas1.pack_forget()
elif canvas2.winfo_viewable():
canvas2.pack_forget()
elif canvas0.winfo_viewable():
canvas0.pack_forget()
canvas3.pack(side=LEFT,fill=BOTH,expand=True)
canvas3.pack_propagate(False)
i=1
u=2
root.vars={}
for q in app3:
x0 = q.split('*')[0]
x1 = q.split('*')[1]
root.var=StringVar()
ch3 = Checkbutton(canvas3,text=x0,variable=root.var,onvalue=x1,offvalue='')
ch3.grid(row=u,column=i,ipadx=45,padx=2,pady=10,sticky='nsew')
ch3.grid_propagate(False)
if i<4:
i+=1
else:
u+=1
i=1
ch3.state(['selected'])
root.vars[q] = root.var