본문 바로가기

Python(파이썬)/GUI(graphical user interface)

파이썬 GUI - 텍스트 & 엔트리

티킨더(tkinter)를 이용해서 GUI 프로그래밍을 할 수 있습니다

파이썬은 라이브러리를 사용하기 위해서는 위에 사용할 라이브러리를 선언해야 합니다

위 사진과 같이 tkinter를 import 합니다

뒤에 *를 붙이는 이유는 tkinter의 모든 것을 사용한다는 뜻입니다.

이제 사용할 준비가 되었으니 기본 틀 만드는 작업을 하겠습니다

root = Tk() 선언을 합니다

root라는 변수에 Tk함수를 저장합니다

여기서 주의해야할 점은 T는 꼭 대문자여야 하고 k는 소문자여야 합니다

root.mainloop()를 사용합니다

root(Tk) 안에 있는 함수중 mainloop를 사용합니다

실행한 화면입니다

 

텍스트 만들기

티킨더(tkinter)의 함수 중  Text(텍스트) 함수를 사용해서 만들겠습니다

Text 글자를 보여줍니다

사용하기 편하게 txt 변수에 담아줍니다

그리고 버튼, 레이블처럼 화면에 보이게 하기 위해서 pack()를 사용합니다

크기를 지정하지 않고 실행해서 모든 칸을 차지했습니다

Text의 크기를 정해줍니다

width, height를 통해서 너비와 높이를 설정할 수 있습니다

구별을 위해서 GUI 크기도 정해줍니다

geometry는 GUI 창의 크기를 설정합니다

각각 가로 세로 길이입니다

가운데 x는 알파벳 x입니다

실행하면 640 가로 480 세로의 크기를 가지게 됩니다

Text의 경우 width 30 height 5의 크기를 가지게 됩니다

가운데 하얀 칸이 Text입니다

띄어쓰기 줄 바꿈이 모두 적용됩니다

그리고 input의 placeholder의 기능처럼 미리 글자를 넣을 수 있습니다

사용할 함수는 insert 입니다

insert(위치, 글자)

insert안에 넣을 위치와 글자를 넣어줍니다

넣은 글자는 수정, 삭제가 가능합니다

엔트리 만들기

Entry 함수를 사용합니다

Entry도 글자를 보여줍니다 Text와 동일한 width 줍니다

pack() 사용해서 화면에 보여줍니다

Text 밑에 한 줄이 새로 생겼습니다

겉보기에는 Text와 같지만 차이가 있습니다

  Text Entry
줄바꿈(enter) O X

Text는 줄 바꿈이 가능했지만 Entry는 줄바꿈 없이 한 줄로 사용합니다

Entry도 글자를 미리 넣어보겠습니다

insert를 사용해서 원하는 글자를 미리 넣을 수 있습니다

사용법은 Text와 같습니다

실행화면입니다

추가 Text & Entry 내용 지우기

입력된 값을 버튼을 이용해서 지우는 방법입니다

"클릭" 이름의 버튼을 만들고 command에 btncmd 함수를 만들어줍니다

버튼을 클릭하면 btncmd 함수가 실행됩니다

Text, Entry 동일하게 delete 함수를 사용합니다

차이는 Text의 경우 여러 줄이 가능하기 때문에 ''안에 '시작 행, 시작 열'를 정해줍니다

Entry는 한 줄이기 때문에 시작하는 글자 위치만 알려주면 됩니다 

실행화면입니다

클릭 버튼을 클릭하면 내용이 지워집니다