Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2020, 05:46   #1
Parallelogram
Недотепа
Форумчанин
 
Регистрация: 18.01.2011
Сообщений: 174
По умолчанию tkinter виснет программа при выполнении

Здравствуйте.
Проблема стандартная и появлялась здесь уже несколько раз, но я всё равно не могу разобраться с ней.

Смысл такой: После нажатия кнопки запускается некая долгая функция (ходит по фтп, ссш, медленно
парсит файлы и др) и на выполненном каждом шаге меняет значение прогрессбара.
Вроде как должно работать через .after(), но я не понимаю как.

Упрощенный пример:
Код:
import tkinter as tk
import tkinter.ttk as ttk
from tkinter import *
from tkinter.ttk import *
import time



def _click():
	win.after(100, _func)
	win.after(100, _longFunc)

def _func(arg=0):
	print(arg)
	pb['value'] = arg
	win.after(100, _func)

def _longFunc():
	time.sleep(1)
	print('1')
	_func(33)
	time.sleep(1)
	print('2')
	_func(66)
	time.sleep(1)
	print('3')
	_func(100)


win = Tk()
win.title("AFTER")
win.geometry("+10+10")

btn = Button(win, text="Click", command=_click)
btn.grid(row=1)

pb = ttk.Progressbar(win, value=0)
pb.grid(row=2)


win.mainloop()
Parallelogram вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Виснет программа! Fahman Общие вопросы Delphi 3 06.01.2014 16:41
Виснет программа.паскаль romich.91 Помощь студентам 3 10.12.2012 20:26
Виснет программа Mrsqler Работа с сетью в Delphi 32 10.07.2012 10:41
виснет программа LUXEOR C++ Builder 0 27.01.2012 23:20
Форма при выполнении процесса виснет Anekdot Помощь студентам 1 10.02.2010 02:10