본문 바로가기
728x90
반응형

Tkinter7

[Python tkinter] 10. Text 위젯 생성 Text 위젯은 한 줄 이상의 글자를 작성할 수 있는 위젯이다. 의외로 굉장히 광범위하게 볼 수 있는 위젯인데, 윈도우의 기본 프로그램인 메모장이나, 인터넷 카페나 블로그의 댓글 입력창 등을 Text 위젯의 예로 들 수 있다. 기능 자체가 워낙 단순한 위젯이기 때문에, 생성과 배치는 크게 어렵지는 않다. 속성이 조금 많아서 문제긴 하다만 말이다. 바로 시작해보자. 1. Text() 클래스 Text() 클래스의 선언은 아래의 포맷으로 진행한다. Text 위젯 변수명 = tkinter.Text(master=Text 위젯을 배치할 창 객체명) 다른 클래스들과 달리, master 속성으로 배치할 창이나 프레임 등만 지정해주면 위젯 생성이 끝난다. 기타 위젯 속성은 아래의 표를 참고하도록 하자. 필수 속성(인자).. 2022. 3. 10.
[Python tkinter] 9. Checkbutton 위젯 생성 및 목록 생성 이번 포스팅에서는 tkinter의 Checkbutton에 대해 알아보려 한다. Checkbutton은 항목 앞에 선택/해제가 가능한 네모 모양의 버튼이 존재하는 위젯이며, 해당 항목의 활성화/비활성화 여부를 설정해야하는 내용이 필요한 경우 주로 사용된다. 1. Checkbutton() 클래스 Checkbutton의 생성은 일반적인 상황이라면 아래의 포맷으로 진행한다. Checkbutton 위젯 변수명 = tkinter.Checkbutton(master=위젯을 배치할 창 객체명, text="checkbutton 항목", onvalue="Checkbutton 선택 시 반환값 지정", offvalue="Checkbutton 해제 시 반환값 지정, variable=Checkbutton을 그룹화 할 tkinter.. 2022. 3. 9.
[Python tkinter] 6. Listbox 위젯 생성 및 목록 설정 이번 포스팅에서는 tkinter의 Listbox에 대해 알아보려 한다. Listbox는 간단하게 말하면, 여러 리스트 항목 중 하나를 선택할 수 있도록 만든 위젯이다. 이 위젯의 형태를 가장 많이 볼 수 있는 곳이 Excel인데, Excel에서 '셀 서식'을 누르면 나오는 좌측의 목록이 바로 Listbox 위젯이라고 생각하면 된다. 사실상 요즘에는 Combobox라고 불리는 위젯이 있기 때문에 많이 사용되는 위젯은 아니지만, 목록 자체의 양이 많지 않은 경우 종종 사용되기도 한다. 이번 포스팅에서는 Listbox 위젯의 생성과 사용에 대해 알아보려 한다. 1. Listbox() 클래스 Listbox 위젯 생성을 위한 클래스 호출은 아래와 같이 진행하면 된다. Listbox 객체 변수명 = tkinter... 2022. 2. 6.
[Python tkinter] 4. Label 위젯으로 창에 글자 각인하기 tkinter에서 Label 위젯은 단순히 창에 글자를 각인해주는 용도로 많이 사용한다. 워드나 메모장에서 문서 열기를 진행하면 나타나는 창에서 각 항목에 대해 간단하게 설명하는 부분들이 Label 위젯으로 생성된다고 보면 된다. 따라서 Label 위젯은 동작을 지정해주어야 하는 버튼, 항목을 추가해야하는 Combobox나 LIstbox와는 달리, 매우 사용하기가 쉽다. 본격적으로 Label의 사용 방법에 대해 알아보자. 1. Label 클래스 생성 Label 클래스는 아래와 같은 방식으로 호출한다. Label객체변수명 = tkinter.Label(master = 위젯을 배치할 창 객체명, text=Label에 출력할 문자열) 호출 시 사용하는 필수 인자는 master와 text 뿐이다. fg, bg, .. 2022. 1. 23.
[Python tkinter] 3. Frame 위젯으로 창 구획 나누기 GUI로 프로그램을 만들 때, 필자가 가장 중요하게 생각하는 것은 디자인이다. 굉장히 뜬금없이 들릴 수 있는데, 외관을 삐까번쩍하게 만드는 그런 디자인을 말하는 것이 아니라, 위젯을 적절한 위치에 배치할 수 있도록 공간을 할당하는 것을 의미한다. 가령 예시를 하나 보자. 로그인 창을 만든다고 하자. "아이디", "비밀번호" 텍스트가 작성된 Label 위젯과 로그인 폼을 입력받는 Entry 위젯은 전부 place로 창에 배치가 되었다. 만약, 개발을 진행하다가 누군가가 "이거 위젯 위치 오른쪽으로 40 픽셀정도 옮겨주세요"라는 부탁을 받는다면, 필자는 place 함수에 있는 x인자의 값을 전부 하나씩 변경해주어야 한다. 위의 예시야 위젯 개수가 단 4개 뿐이니 그냥 노가다라도 하면 된다지만, 코드가 늘어나.. 2022. 1. 16.
[Python tkinter] 2. 빈 창에 위젯(Widget) 생성하기 지난 포스팅에서는 tkinter 패키지의 Tk() 클래스를 선언하여 Window 창을 생성하고, 생성한 창의 설정을 진행하는 방식에 대해 알아보았다. tkinter로 생성한 창은 아무것도 없는 완전무결한 빈 공간이다. 실제 우리가 프로그램에서 볼 수 있는 텍스트 입력 창이나, 버튼이나, 스크롤 등은 별도로 추가해주어야 한다. 창 내의 버튼, 텍스트 입력창, 드롭 박스 등을 tkinter에서는 위젯(Widget)이라고 하는데, 이 위젯들을 생성하고 창 내에 배치해주는 작업을 거쳐야 한다. 이번 포스팅에서는 위젯을 창에 생성하고 배치하는 방법에 대해 간략하게 알아보려 한다. I. 위젯 클래스 선언 및 위젯 생성 이 위젯들 역시 Tk() 클래스와 마찬가지로 tkinter 패키지에 클래스 형태로 존재한다. 따라.. 2022. 1. 12.
[Python tkinter] 1. tkinter 패키지로 윈도우 창 생성하기 필자가 지금까지 python이나 Linux Bash로 진행한 프로젝트들을 보면, 하나같이 Command Line Interface - 명령어를 입력하는 방식으로 구동하는 - 형태의 프로그램 뿐이다. 따라서 필자가 혼자 쓰기 아까운 프로그램들을 주변 가족들에게 소개시켜주더라도, 옛 도스와 비슷한 방식으로 작동하는 필자의 프로그램을 스마트폰에 익숙해진 사람들이 쓰기에는 많은 무리가 있다. 이 때문에 필자가 기존에 진행했던 프로젝트 중 일부를 Window에 익숙한 대부분의 현대 사람들도 쉽게 사용할 수 있게 Graphic User Interface 방식으로 변경하는 작업을 다시 진행하려고 마음먹었던 것이 무려 1년하고도 반년 전이다. 이 당시 찾아본 결과 python의 tkinter 패키지와 PyQt5라는 패.. 2022. 1. 9.
728x90
반응형