tkinter становится медленным после запуска некоторых пользовательских ttk.Frame - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь создать графический интерфейс для расчета всех командировочных расходов. Это еще не закончено из-за проблемы, когда в определенный момент tkinter становится очень медленным. Понятия не имею, что я сделал не так.

Я сделал большинство виджетов как класс. Все нормально, пока я не попробую сделать TravelReportExpensesFrame(ttk.Labelframe) с несколькими ExpenseFrame(ttk.Frame).

Создание класса в классе TravelReportPicker(ttk.Frame) в методе travel_id_cbo_index_change(self) [gui.py, строка 515]. Если вы хотите увидеть разницу. Запустите gui.py со строками 535, 536, 537 и без них, где я на самом деле называю создание TravelReportExpensesFrame(ttk.Labelframe).

Я запустил cProfile, и разница (с / без) значительна, в то время как вызов mainloop cumtime примерно такой же.

{вызов метода для объектов _tkinter.tkapp}

с тремя упомянутыми выше строками:

ncalls  tottime  percall  cumtime  percall
77780/10976   43.917    0.001   46.279    0.004

без 3-х строк:

ncalls  tottime  percall  cumtime  percall
1622/1224    0.660    0.000    0.683    0.001

Я относительно новичок в питоне. Это мой первый пост, и я не являюсь носителем английского языка, поэтому, пожалуйста, будьте осторожны со мной.

Я опубликовал свой код на github и ссылка ниже.

Вот весь проект

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...