[파이썬] 2진법 변환기 GUI로 만들기 GUI(23)

오늘은 저번에 만들었던 이진법 변환기를 tkinter 모듈을 이용해서 만들어보겠습니다.아래는 저번 블로그입니다. https://blog.naver.com/godngo22/222944930758

[파이슨] 이진법 변환기 진화! 다음은 이진법 변환기 코드입니다. 상기 이진법 변환기 코드를 간소화하기 위해 함수를 추가하고 함수와… blog.naver.com

이번에는 글로 설명하기 귀찮으니까 그림으로 설명할게요.

일단 엔트리 하나 만들어서 붙였어요.

importtkinterroot=tkinter.Tk()FirstEntry=tkinter.入力(width=20)FirstEntry.place(x=20、y=20)root.mainloop()

아무 이상 없으면 바로 두 번째 엔트리까지 만들었어요.

importtkinterroot=tkinter.Tk()FirstEntry=tkinter.入力(width=20)FirstEntry.place(x=20、y=20)SecondEntry=tkinter。入力(width=20)SecondEntry.place(x=20、y=50)root.mainloop()

다행히 아직 문제없는 변환 버튼도 만들었습니다.

importtkinterroot=tkinter.Tk()FirstEntry=tkinter.入力(width=20)FirstEntry.place(x=20、y=20)SecondEntry=tkinter。入力(width=20)SecondEntry.place(x=20、y=50)TranslateBtn=tkinter。ボタン(text=’ω’)TranslateBtn.place(x=130、y=80)root.mainloop()

매우 편안한 버튼 위치

여기서 캔버스는 뒤로 미루고 버튼을 누르면 수를 변환하는 코드부터 만들어 봅니다.importtkinterbinarynum=[]deftranslate():txt=int(FirstEntry.get()whileTrue:b=txt//2c=txt%2binarynum.ext(c)txt=txt//2iftxt==1:binarynum.ext(1)breakelift==0:binarynum.ext(0)binarynum.ext(0)binarynumrse(secondEntry.insert(0,’.’).”(str(e)root=tkinter.Tk()FirstEntry=tkinter. 입력(width=20)FirstEntry.place(x=20, y=20)SecondEntry=tkinter. 입력(width=20)SecondEntry.place(x=20, y=50)TranslateBtn=tkinter.버튼(text=’환”, command=)TranslateBtn.place(x=130, y=80)root.mainloop()위의 코드를 완성했습니다.상기 코드의 translate 함수에서 FirstEntry로부터 텍스트를 get을 이용하여 받아 숫자로 바꾸고 이진수로 바꿉니다.그런 다음 Second Entry 안에 문자로 붙여줍니다.Second Entry 중에 문자로 붙이는 부분은 처음이라 설명해 보겠습니다.SecondEntry.insert(0, ”.join(str(e)fore in binarynum))上の文章です。위 문장에서는 binarynum을 e로 보내면서 글자로 바꿔서 join으로 붙입니다.이하는 11223을 입력했을 때의 결과 화면입니다.캔버스를 추가해서 그래프를 그려볼게요.캔버스를 추가해서 그래프를 그려볼게요.시모가 그래프를 그리는 함수입니다.def graph(binarynum):n=0 px=10 py=400 w=20 h=100 for i in range(len(binarynum):cvs.create_rectangle(px+i*w, py-binarynum[i]*h, px+i*w+w, py)위 함수에서 cvs.create_rectangle(px+i*w, py-binarynum[i]*h, px+i*w+w, py)부분을 설명하겠습니다 우선 x1부분입니다.px(400)에 i를 걸어 넓이(w)을 걸어 갑니다.다음은 y1입니다. 혹시 binarynum[i]이 1때 높이(h, 100)을 곱하고 py(400)에서 끌어냅니다.다음은 x2입니다. x2는 그냥 x1에서 넓이(w, 20)을 더한 것입니다.마지막으로 y2입니다.y2는 그냥 높이(h, 100)입니다.아래는 결과 화면입니다.아래가 그래프를 그리는 함수입니다.def graph(binarynum): n = 0 px = 10 py = 400 w = 20 h = 100 for i in range(len(binarynum)): cvs.create_rectangle(px + i * w, py – binarynum[i] * h, px + i * w + w, py)위 함수에서 cvs.create_rectangle(px + i * w, py – binarynum[i] * h, px + i * w + w, py)부분을 설명하겠습니다まずx1の部分です。px(400)에 i를 곱하여 넓이(w)를 곱합니다.다음은 y1입니다. 만약 binarynum[i]이 1일 때 높이(h,100)를 곱하여 py(400)에서 인출합니다.다음은 x2입니다. x2는 단지 x1에서 넓이(w,20)를 더한 것입니다.마지막으로 y2입니다.y2는 그냥 높이(h,100)입니다.아래는 결과 화면입니다.

error: Content is protected !!