Форум сайта python.su
Очень простой и функциональный прогресс бар, использующий библиотеку Tkinter. Тест на Python 2.6-2.7.
Присутствует практически все: изменение размера бара, шрифта, цветов рамки, полосы прогресса, текста, возможность прикреплять иконку…
API можно найти в конце модуля.
Отредактировано Xyanide (Март 9, 2015 19:59:03)
Прикреплённый файлы:
EasyProgress.py.zip (3,2 KБ)
Офлайн
Так есть же в ttk…
P.S. Сам когда-то такой напилил. С возможностью передачи в любую функцию как параметр.
P.S.S. Просмотрел Ваш код. Не понравился Хотя задумка правильная.
Отредактировано 4kpt_III (Март 9, 2015 21:35:59)
Офлайн
4kpt_IIIА что с кодом? Используется прогресс в пару строчек. Обычно такие бары в десятки раз корявей и в сотни киллобайт! А то, что есть в ttk, меня не устраивало.
Так есть же в ttk…P.S. Сам когда-то такой напилил. С возможностью передачи в любую функцию как параметр.P.S.S. Просмотрел Ваш код. Не понравился Хотя задумка правильная.
Отредактировано Xyanide (Март 10, 2015 07:06:32)
Офлайн
ООП в Tkinter немного не так используется. Отсюда и все косяки.
Офлайн
4kpt_IIIНу, во первых, косяков там нет! А то, как используется ООП в Tkinter, я знаю, и намеренно строю код таким образом, каким он вам не понравился. Во-первых, читабельней для всех, во-вторых, в разы быстрее исполнение! И, что самое важное, - пользователь должен работать с модулем с минимальным количеством телодвижений.
ООП в Tkinter немного не так используется. Отсюда и все косяки.
Отредактировано Xyanide (Март 10, 2015 13:26:38)
Офлайн
Если уж во-первых - то косяков там тьма.
Приведу наиболее значимые:
1. Создавать повторный root для прогресс барра - это не косяк. Это ересь.
2. Создавать класс в tkinter без наследования - это просто непонимание основ применение ООП в GUI. Откройте любую книгу по tkinter и поймете, что я прав полностью. И тут как раз вопрос удобства использования Ваших решений в система виджетов.
3. Отсутствие перехвата каких-либо ошибок от tkinter.
4. Документация вообще жесть. Разберитесь как пишется документация.
5. Зависимости? Собственно. Где?
XyanideС чем сравнивали? Как сравнивали?
Во-первых, читабельней для всех, во-вторых, в разы быстрее исполнение!
Офлайн
1. Создавать повторный root для прогресс бара - это не косяк. Это ересь
Если вы мне покажите повторный root, я отрублю себе правую руку.
2. Создавать класс в tkinter без наследования - это просто непонимание основ применение ООП в GUI.
Создавать класс в tkinter без наследования - это выбор программиста.
4. Документация вообще жесть.
Что именно жесть, или вы только ляпаете языком?
5. Зависимости? Собственно. Где?
Зависимости. Собственно, какие?
6. Ну и за time.sleep(0.01) в tkinter обрывал бы руки.
Ну, и за ваше поведение, я бы вообще убил!
Вы тролль? Приведите мне кусок своего кода, уж очень охота поглумиться, как это делаете вы! Вы знаете хотя бы основы программирования?
Отредактировано Xyanide (Март 10, 2015 14:42:52)
Офлайн
Xyanide
Если вы мне покажите повторный root, я отрублю себе правую руку.
self.root = Tkinter.Tk()
Xyanide
Создавать класс в tkinter без наследования - это выбор программиста.
Xyanide
Что именно жесть, или вы только ляпаете языком?
Xyanide
Зависимости. Собственно, какие?
Xyanide
Ну, и за ваше поведение, я бы вообще убил!
Xyanide
Приведите мне кусок своего кода, уж очень охота поглумиться, как это делаете вы!
Xyanide
Вы знаете хотя бы основы программирования?
Отредактировано 4kpt_III (Март 10, 2015 15:32:15)
Офлайн
Да что ты говоришь!
Документацию я пишу человеческим языком и использовать убитую, по моему мнению, конструкцию :param your_param: info не намерен! По поводу второго root, ты судишь как человек, который вообще , пардон, без мозгов! То есть, исходя из твоей логики, во всем GUI приложении должен быть один родитель, а окна TopLevel так, погулять вышли! Свой прогресс бар я использую во всех своих программах, который адекватно себя показывает! В общем, я не понимаю ваших душевных проблем, которые заставляют вас вести себя подобным образом… Я повторю вопрос: вы тролль!?
Офлайн
Xyanide
Я повторю вопрос: вы тролль!?
Отредактировано 4kpt_III (Март 10, 2015 17:11:04)
Офлайн