Tkinter 진행률 표시줄

Tkinter Jinhaenglyul Pyosijul



진행률 표시줄 위젯을 사용하여 긴 프로세스의 상태에 대해 클라이언트를 업데이트할 수 있습니다. 위젯의 목표는 사용자에게 무언가가 발생하고 있다는 확신을 제공하는 것입니다. 두 가지 작동 모드가 있습니다. 확정 모드에 있을 때 위젯은 미리 결정된 방향으로 이동하는 표시를 표시합니다. 위젯은 클라이언트에게 무언가가 일어나고 있다는 인상을 줄 수 있도록 불확실한 상태로 이동됩니다. 신호는 이 스타일 전반에 걸쳐 위젯의 끝 사이에서 앞뒤로 진동합니다. 이 튜토리얼에서는 Python에서 확정 및 확정되지 않은 진행률 표시줄을 사용하는 방법을 다룹니다.

Python의 Tkinter 라이브러리 구성부터 시작하겠습니다. 터미널을 성공적으로 실행한 후 다음 쿼리를 시도하여 Tkinter 패키지를 구성하십시오. 이 지침을 사용하기 전에 Python이 이미 설치되어 있는지 확인하십시오.

$ sudo apt 설치 python3-tk







실시예 1

Tkinter 모듈을 사용하여 GUI에서 확정 진행률 표시줄을 만드는 첫 번째 Python 예제부터 시작하겠습니다. 따라서 'new.py'라는 새 Python 파일을 만들고 다음 코드를 추가했습니다. 첫 번째 줄에서 Python의 Tkinter 라이브러리에서 모든 자식 개체를 가져와서 이 코드를 시작했습니다. 그런 다음 두 번째 코드 줄의 Tkinter 모듈에서 'ttk' 클래스 개체를 가져왔습니다.



Tk() 클래스 생성자가 호출되어 해당 객체를 't' 변수에 저장했습니다. GUI의 제목을 생성하기 위해 't' 개체 변수를 사용하여 'title' 기능에 도달했습니다. GUI Tkinter 창의 크기는 geometry() 함수를 통해 '300×200'으로 설정되었습니다. 진행률 표시줄은 'Pbar()' 사용자 정의 함수에 의해 생성됩니다. 이 기사의 후반부에서 이 기능을 살펴볼 것입니다.



8에서 변수 'p'를 생성했습니다. GUI 화면에서 진행률 표시줄을 생성하기 위해 'ttk' 클래스 객체를 통해 Progressbar() 함수를 사용하고 있는 이 Python 코드 줄. 개체 't'는 방향이 수평으로 설정되고 길이가 400으로 설정되고 모드가 확정되어 있는 동안 전달되었습니다. 즉, 특정 방향으로만 이동할 것입니다. 'y' 축 패딩은 이 진행률 표시줄에 대한 'pack()' 함수를 사용하여 30으로 설정되었습니다.





그런 다음 Button() 함수를 사용하여 새 버튼 'b'를 만들고 개체 't', 일부 텍스트 및 버튼을 클릭한 후 실행할 명령, 즉 호출된 함수를 전달했습니다. 'Pbar' 기능. Pbar() 함수는 진행률 표시줄 'p'의 값을 10만큼 증가시키고 변수 'b'로 돌아갑니다. 버튼의 'y'축 패딩은 pack() 함수를 사용하여 '10'으로 설정되었으며 mainloop() 함수는 전체 실행을 반복하기 위해 여기에 있습니다.



Python 코드를 완성한 후 저장하고 'python3' 쿼리와 'new.py' 파일 이름을 통해 콘솔에서 실행했습니다.

$ python3 new.py

콘솔 화면에 'Progress Bar'라는 제목으로 Python의 Tkinter GUI를 시작했습니다. 다음 이미지에는 처리가 없는 진행률 표시줄만 있습니다. 먼저 버튼을 눌러야 합니다.

'여기를 탭하세요!' 버튼을 탭하면 파란색 진행률 표시줄이 다음과 같이 표시됩니다.

세 번 연속 클릭한 후 움직임 없이 다음과 같은 진행 상황이 나타났습니다.

진행률 표시줄의 끝에 도달한 후에는 더 이상 이동할 수 없습니다. 즉, 확정 진행률 표시줄입니다.

실시예 2

Tkinter GUI Python 모듈을 사용하여 진행 영역 내에서 앞뒤로 이동할 수 있는 불확실한 진행률 표시줄을 만드는 방법을 살펴보겠습니다. 따라서 Tkinter 모듈을 'tk'로 가져오고 'ttk' 클래스에서 ttk 객체를 가져와서 이 Python 코드를 시작했습니다. tk 객체는 생성자 'Tk()' 결과를 얻기 위해 캐스트되고 변수 't'에 저장되었습니다.



't' 변수는 표시할 GUI 창의 크기를 결정하기 위해 기하학() 함수와 함께 GUI에 대한 제목을 추가하기 위해 title() 함수와 함께 사용되었습니다. grid() 함수는 GUI를 표 형식으로 구성하기 위해 't' 변수와 함께 호출되었습니다.

그 후 변수 'p'를 사용하여 동일한 't' 변수, 수평 방향, 300 길이 및 불확정 모드를 사용하여 ttk 클래스 객체의 Progressbar() 함수를 통해 진행률 표시줄을 생성했습니다. 진행률 표시줄은 'x' 및 'y' 축에 특정 패딩을 사용하는 'grid()' 함수를 통해 표 형식으로 구성되었습니다. 진행률 표시줄의 이동을 시작하고 종료하고 앞뒤로 이동하기 위한 두 개의 버튼 's'와 'e'를 만들었습니다.







두 버튼 모두에 대한 grid() 함수의 고정 매개변수는 방향, 즉 동쪽과 서쪽을 정의합니다. 'start' 및 'stop' 명령은 9에서 두 버튼 모두에 대해 설정되었습니다. 그리고 11 선. mainloop() 함수를 실행하면 프로그램이 완료되고 저장 후 사용할 수 있습니다.





사형도 비슷한 방식으로 이루어졌다.





$ python3 new.py

GUI를 실행하면 다음 화면이 표시됩니다.



'탭하여 시작' 버튼을 누른 후 진행 표시줄이 앞으로 이동하기 시작했습니다.

끝에 도달한 후 반대 방향, 즉 서쪽으로 이동합니다.

'Tap to Stop' 버튼을 탭하면 진행률 표시줄이 다시 초기 위치로 설정됩니다.

결론

이 기사에서는 Tkinter GUI에서 진행률 표시줄을 사용하는 방법을 보여주었습니다. 우리는 단순히 Tkinter 클래스의 객체를 활용하여 다른 위젯을 호출하여 Python GUI를 보다 대화식으로 만들었습니다. 우리는 우리의 예에서 확정 및 불확정 진행률 표시줄을 사용하는 것에 대해 논의했습니다. 이러한 구현을 즐기시기 바랍니다.