Лента за напредък на Tkinter

Lenta Za Napred K Na Tkinter



Можете да актуализирате клиента за състоянието на продължителен процес с изпълним модул за лента за напредък. Целта на джаджата е да осигури на потребителя увереност, че нещо се случва. Има два различни режима на работа. Когато е в определен режим, джаджата показва индикация, която се движи в предварително определена посока. Джаджата се премества в неопределено състояние, за да позволи на клиента да създаде впечатление, че нещо се случва. Сигналът осцилира напред-назад между крайните части на джаджата в този стил. Използването на детерминирани и недетерминирани ленти за напредък в Python ще бъде разгледано в този урок.

Нека започнем с конфигурацията на Tkinter библиотека на Python. След успешното стартиране на терминала, опитайте следната заявка, за да конфигурирате пакета Tkinter. Уверете се, че Python вече е инсталиран, преди да използвате тази инструкция.

$ sudo apt инсталирайте python3-tk







Пример 1

Нека започнем с нашия първи пример за Python, за да използваме модула Tkinter, за да създадем определена лента за напредък в неговия GUI. Така създадохме нов Python файл с име „new.py“ и добавихме следния код. Започнахме този код, като импортирахме всички дъщерни обекти от библиотеката Tkinter на Python на първия ред. След това импортирахме обекта от класа „ttk“ от модула Tkinter във втория ред код.



Конструкторът на класа Tk() е извикан и е записал своя обект в променливата „t“. Функцията „title“ е достигната с променливата на обекта „t“, за да се създаде заглавие за GUI. Размерът на прозореца на GUI Tkinter е зададен на „300×200“ чрез функцията geometry(). Лентата за напредък ще бъде генерирана от дефинирана от потребителя функция „Pbar()“. Ще разгледаме тази функция в последната част на тази статия.



Създадохме променлива 'p' на 8 th ред от този код на Python, който е използвал функцията Progressbar() чрез обекта на класа „ttk“, за да създаде лента за напредък на екрана на GUI. Обектът „t“ е предаден към него, докато ориентацията му е зададена на Хоризонтална, дължината му е зададена на 400, а режимът му е детерминиран, т.е. той ще се движи само в определена посока. Подпълването на оста 'y' е зададено на 30 чрез използването на функцията 'pack()' за тази лента за напредък.





След това създадохме нов бутон „b“ с помощта на функцията Button() и му подадохме обекта „t“, някакъв текст и командата, която да бъде изпълнена след щракване върху бутона, т.е. функция, наречена функцията “Pbar”. Функцията Pbar() ще увеличава стойността на лентата за напредък „p“ с десет и ще се връща към променливата „b“. Подложката на оста 'y' за бутона е зададена на '10' с помощта на функцията pack(), а функцията mainloop() е тук, за да изведе цялото изпълнение.



След като завършихме код на Python, ние го запазихме и го изпълнихме на конзолата чрез заявката „python3“, последвана от името на файл „new.py“:

$ python3 new.py

Той стартира Tkinter GUI на Python със заглавието „Прогрес бар“ на екрана на нашата конзола. В следното изображение има само лента за напредък без обработка. Първо трябва да докоснете бутона.

След докосване на бутона „Докоснете тук!“, синята лента за напредъка се показва, както следва:

След три последователни кликвания получихме следния напредък без движение:

След като достигнем края на лентата за прогрес, не можем да продължим напред, т.е. да определим лентата за прогрес.

Пример 2

Нека да разгледаме създаването на неопределена лента за напредък, която може да се движи назад и напред в зоната за напредък, използвайки модула Tkinter GUI Python. И така, започнахме този код на Python, като импортирахме модула Tkinter като „tk“ и обекта ttk от класа „ttk“. Обектът tk е прехвърлен, за да се получи резултатът от конструктора „Tk()“ и е записан в променливата „t“.



Променливата „t“ е използвана с функцията title() за добавяне на заглавие за GUI заедно с функцията geometry() за определяне на размера на прозореца на GUI, който да се показва. Функцията grid() е извикана с променливата „t“, за да организира GUI в табличен формат.

След това използвахме променливата „p“, за да създадем лента за напредъка чрез функцията Progressbar() на обекта от клас ttk със същата променлива „t“, хоризонтална ориентация, 300 дължини и неопределен режим. Лентата за напредъка е организирана в табличен вид чрез функцията „grid()“, която използва специфичната подложка за оста „x“ и „y“. Създадохме два бутона, „s“ и „e“, за започване на движението на лентата за прогрес, завършване и преместване напред и назад.







Залепващият параметър на функцията grid() и за двата бутона определя посоката, т.е. изток и запад. Командите „старт“ и „стоп“ са зададени и за двата бутона на 9 th и 11 th линия. С изпълнението на функцията mainloop() нашата програма е завършена и готова за използване след нейното записване.





Екзекуцията е извършена по подобен начин.





$ python3 new.py

При стартиране на GUI е представен следният екран:



След натискане на бутона „Докоснете, за да започнете“, лентата за напредък започна да се движи напред.

След като стигне до края, се движи в обратна посока, т.е. на запад.

След като приключите с докосването на бутона „Докоснете, за да спрете“, лентата за напредък отново е зададена в първоначалната позиция.

Заключение

Тази статия показа използването на лентата за напредък в Tkinter GUI. Ние просто използвахме обектите на класа Tkinter, за да извикаме различни уиджети, за да направим GUI на Python по-интерактивен. Обсъдихме използването на детерминирани и неопределени ленти за напредък в нашите примери. Надяваме се, че ще се насладите на прилагането им.