Задать вопрос
@vadimeasy

Ошибка в tkinker, при нажатии на кнопку, как исправить?

Привет, делаю программу для ПК и мне нужно в программе создать кнопку которая будет через requests скачивать нужный файл по запросу. Если устанавливаю значение через чексокс для этой функци, то она бесконечно начинает повторять скачивание. А через кнопку(button) код выходит в ошибку
eturn self.func(*args)
TypeError: save() missing 1 required positional argument: 'link'

вот функция:
def save(link):
    filename = link.split('/')[-1]
    print (filename)
    r = requests.get(link)
    open(filename, 'wb').write(r.content)
    save(link1)
    save_1 = tk.Label(win, text='Desktop cкачан в текущую папку', bg='#CCC', font=('Arial',10))
    save_1.pack()
    save_1.place(x=15, y=200)


Вот кнопка для скачивания:
download_dxbx_btn = tk.Button(win,command=save, text="Скачать Desktop")
download_dxbx_btn.pack()
download_dxbx_btn.place(x=17, y=150)


Вот чекбокс:
setup_dxbx_desktop = tk.StringVar()
setup_dxbx_desktop.set('Yes')
download_dxbx = tk.Checkbutton(text="Скачать Desktop",bg='#CCC', font=('Arial',12), variable=setup_dxbx_desktop, onvalue='Yes', offvalue='No')
download_dxbx.pack(anchor=W, padx=20)
  • Вопрос задан
  • 58 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
shabelski89
@shabelski89
engineer
внутри функции save вы её вызываете ещё раз -зачем? и откуда берется link1 тоже не ясно
def save(link):
    filename = link.split('/')[-1]
    print (filename)
    r = requests.get(link)
    open(filename, 'wb').write(r.content)
    #save(link1) # убираем это
    save_1 = tk.Label(win, text='Desktop cкачан в текущую папку', bg='#CCC', font=('Arial',10))
    save_1.pack()
    save_1.place(x=15, y=200)

что там про чек-бокс не понятно, нужен полный код программы
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы