본문 바로가기

Python77

독학 Python tkinter(GUI) - 15.Combobox 콤보박스(Combobox)는 드랍다운 형식으로 결과 값이나 텍스트를 목록 형식으로 보여주는 기능을 말한다. 말로는 조금 어려울 수 있지만 콤보박스 또한 사용자가 다른 프로그램을 통해 흔히 봐왔던 기능이고, 단순히 보면 이런 목록 형태로 선택을 하는 기능이다. 1. 코드 - 지난 시간 사용했던 radiobutton도 여러 항목 중 하나를 선택하는 기능을 가지고 있었다. - 그런데, radiobutton을 만들었을 때 적용했던 연령 그룹을 좀 더 세분화하여 나누거나 나이를 입력 받으려하면, radiobutton 보다는 combobox가 더 적합한 기능이 된다. - 내용 비교를 위해 radiobutton과 함께 나타내보겠다. - combobox를 사용하기 위해서는 tkinter.kkt 라이브러리가 필요하다. .. 2023. 11. 13.
독학 Python tkinter(GUI) - 14.radiobutton(+LabelFrame) 지난 포스팅에는 각각의 선택이 진행되어야 하는 checkbutton을 확인했다면, 오늘 포스팅은 여러개 중 하나를 선택하는 경우에 사용되는 radiobutton을 확인해 볼 예정입니다. 1. radiobutton 기본 설정 from tkinter import * import tkinter.messagebox as msb from tkinter import filedialog # 파일 open 기능 사용 root = Tk() root.title('To올라운드의 알찬 GUI 강의') def get_checkbutton_stat(): print(f'check1 의 상태 : {check1_value.get()}') print(f'check2 의 상태 : {check2_value.get()}') print(f'c.. 2023. 11. 12.
독학 Python tkinter(GUI) - 13.checkbutton 사실 앞의 포스팅만으로도 충분히 GUI를 구성할 수 있지만, 앞으로 배울 checkbutton이나 radiobutton 등을 함께 배운다면 용도에 맞게 더 적합한 GUI 환경을 구성할 수 있다. 1. checkbutton - 체크 버튼은 사용자가 고정된 내용이나 기능을 반복적으로 사용하거나 사용 유무를 표기할 때 주로 사용한다. - checkbutton 의 경우, 각각 독립적인 상태를 가진다.(다른 checkbutton의 상태에 영향을 받지 않는다.) from tkinter import * import tkinter.messagebox as msb from tkinter import filedialog # 파일 open 기능 사용 root = Tk() root.title('To올라운드의 알찬 GUI 강의.. 2023. 11. 11.
독학 Python tkinter(GUI) - 12.Text(+scrollbar) 이제 우리는 앞선 포스팅에서 Entry를 통해 [예/아니오] 와 같은 버튼보다 확장된 형태의 정보를 주고 받을 수 있게 되었다. 그런데, Entry는 태생적인 제한이 있는데, 바로 줄바꿈을 사용하지 못한다는 것이다. 어떠한 정보를 전달하는데 있어 줄바꿈(Enter)가 없으면 여러 면에서 불편하다. 가장 큰 불편함은 텍스트들이 단위별로 구분되지 않는다는 것인데, 이런 부분을 해소해줄 수 있는 요소(위젯)이 Text이다. Text는 사실 크게 어렵지 않다. 하지만 Text만으로는 GUI상에서 조금 부족한 부분이 있기 때문에 scrollbar와 함께 표현을 해줘야 좀 더 디테일이 살아있는 GUI가 될 수 있다. 1. Text 사용하기 from tkinter import * import tkinter.messa.. 2023. 11. 10.
독학 Python tkinter(GUI) - 11.Entry2(+filedialog) 오늘은 지난 포스팅에서 예고한 entry 2번째 이야기, 활용편이다. 보통 entry는 사용자의 입력을 받기 위해 사용한다는 것을 이제 모두가 알텐데 특정 폴더 경로나 파일 이름 등을 사용자가 직접 입력한다면, 사용자가 오타로 인해 잘못 입력할 수도 있고, 다른 내용을 타이핑 하던 중 의도치 않게 수정이 될 수도 있다. 이런 상황을 유연하게 대처하기 위해 몇가지 entry에 몇가지 설정과 과정을 더해주면 좀 더 오류를 줄이고 사용도 편리한 GUI 환경을 구성할 수 있다. 1. entry 수정 가능 / 불가능 - 사용자의 입력을 받기 위한 entry의 값을 수정 불가능하게 한다는게 뜬금 없는 말처럼 느껴질 수 있다. - 하지만 실제로 마지막 결과물을 본다면 참 유용하게 사용할 수 있겠구나 라는 생각이 들 .. 2023. 11. 9.
독학 Python tkinter(GUI) - 10.Entry1 우리는 지난 포스팅을 통해 사용자와 소통을 할 수 있는 프로그램 개발자로 거듭났다. 지금까지 배운 내용을 정리해보면 Frame 이나 위치(pack, grid, place) 등은 GUI를 꾸미기 위한 내용이었으며, Label 이나 Button, Messagebox 의 경우에는 사용자의 요청 사항이 개발자가 정해놓은 틀에서 단순한 선택 정도의 소통이 가능했다. 그런데 [예, 아니오] 같은 정해진 답만을 전달 받는건 프로그램으로써 많이 부족하다는 생각이 들 것이다. 가장 단순하게 사용자가 ID와 PW를 사용자가 입력하려 해도 지금까지 배운 것들로는 불가능하다. 이런 사용자의 입력을 위한 기능이 오늘 포스팅할 Entry와 다음 포스팅 주제인 Text이다. 1. Entry 언제 쓰일까? - 서두에 얘기된 것 처럼.. 2023. 11. 8.
독학 Python tkinter(GUI) - 09.MessageBox 일반적인 프로그램을 사용하다 보면, 잘못된 입력이나 동작을 했을 때, 경고나 알림을 주는 여러 메세지들을 봤을 것이다. 우리가 작성하는 프로그램도 이런 종류의 메세지를 통해 사용자에게 정보를 제공하거나 오류를 수정하도록 유도할 수 있는데, 오늘은 메세지에 대해 알아보려한다. 1. 살짝 맛보기 - 메세지창을 띄우기 위해서는 tkinter.messagebox 라이브러리가 필요하다. - 메세지 박스의 경우 사용 빈도가 생각보다 높아 alias(약칭/별명) 을 설정해두면 훨씬 편리하다. - 2라인과 같이 라이브러리를 호출한 뒤 지난 시간에 사용한 버튼 코드에 'msb.showinfo ~~ ' 를 추가해주면 프로그램이 시작될 때 다음과 같은 메세지 창이 나타난다. - 사용방법은 msb.showinfo(title,.. 2023. 11. 7.
독학 Python tkinter(GUI) - 08.Button Button은 번역을 하면 더 난해한 느낌이 드는, 메소드나 함수 등을 실행시키는 단추이다. 그래서 설명보다는 원래 자신이 알던 이미지를 떠올리는게 더 정답이라고 생각한다. 예를 들면 해당 버튼을 누르면 뭔가 진행되거나 실행된다는건 다들 겪어 본 일들일 거라 생각한다. 1. Button(버튼)만들기 - 만드는 방법은 Label을 만드는 방법과 크게 다르지 않다. - 대신 위에 언급한 바와 같이 어떤 동작을 실행시킬 수 있는 command를 지정할 수 있다는게 가장 큰 특징이다. 2. 코드 from tkinter import * root = Tk() root.title('To올라운드의 알찬 GUI 강의') root.geometry("200x300") # 가로 X 세로 / 대문자X 하면 실행안됨 body_f.. 2023. 11. 6.
독학 Python tkinter(GUI) - 07.place place는 pack, grid 와 함께 GUI의 위치를 지정하는 방법이다. pack이나 grid의 경우 상대적인 위치들로 배치가 되었다면 place는 정확한 위치 값을 지정할 수 있다는 장점과 pack이나 grid와 함께 혼용해서 사용할 수 있다는 장점이 있다. 1. place 사용 방법 - 사용방법은 간단하다. 해당 요소(위젯).place(x=x 좌표, y= y 좌표) 값을 입력해주면된다. - 기준 값은 늘 그렇듯 왼쪽 상단이 (0, 0)이다. - 지난 grid 포스팅 때 사용한 코드 중 일부만 place로 변경해보겠다. from tkinter import * root = Tk() root.title('To올라운드의 알찬 GUI 강의') root.geometry("400x500") # 가로 X 세로 .. 2023. 11. 5.
독학 Python tkinter(GUI) - 06.grid 1. 요소(위젯) grid로 나타내기. - tkinter GUI는 pack, grid, place 3가지 방식으로 위치를 나타낼 수 있는데, 지난 pack에 관련된 포스팅에 이어 2번째 grid에 대한 포스팅이다. [이전 글 추가] - pack만 사용하거나 grid만 사용해도 무관하나, 상황에 따라 더 편리한 방법이 있다보니 2가지를 다 알고 혼용하는 것도 좋다. - grid가 가지는 가장 큰 장점은 반듯한 사격형에 넣은 것과 같은 규격이다. - 셀 단위 배치라고도 부르는데, column(열)과 row(행)의 번호를 할당해주는 방식이다. from tkinter import * root = Tk() root.title('To올라운드의 알찬 GUI 강의') root.geometry("600x500") # 가.. 2023. 11. 4.
반응형