Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- programming
- predictive analysis
- Data Science
- 오블완
- 알고리즘
- OOP
- baekjoon
- 티스토리챌린지
- function
- 배열
- vscode
- 백준
- Pre-processing
- array
- 문자열
- 포인터
- pointer
- Python
- Deep Learning
- Object Oriented Programming
- Class
- pass by reference
- const
- raw data
- string
- C++
- assignment operator
- 파이썬
- 반복문
- 함수
Archives
- Today
- Total
Channi Studies
[python] tkinter miles km converter / tkinter 마일 킬로미터 변환기 본문
python의 tkinter 모듈을 사용해서 단위 변환기를 만들어 보자.
아직 tkinter 모듈을 처음 공부하는 중이기 때문에, 간단하게 구현해보았다.
1. miles to km, km to miles 2가지 옵션 구현
2. 버튼을 누를 시 계산이 완료되어 완료 값이 출력
코드
from tkinter import *
window = Tk()
FONT = ("Arial", 20)
from_unit = "miles"
to_unit = "km"
window.title("Unit Converter")
window.minsize(width="250", height="100")
window.config(padx=50, pady=25)
# Label
from_label = Label(text=f"{from_unit}", font=FONT)
from_label.grid(column=2, row=2, padx=5, pady=5)
to_label = Label(text=f"{to_unit}", font=FONT)
to_label.grid(column=2, row=3, padx=5, pady=5)
result_label = Label(text="0", font=FONT)
result_label.grid(column=1, row=3, padx=5, pady=5)
equal_to_label = Label(text="is equal to", font=FONT)
equal_to_label.grid(column=0, row=3, padx=5, pady=5)
empty_label = Label(text="", font=FONT)
empty_label.grid(column=1, row=1)
arrow_label = Label(text="➡️➡️➡️", font=FONT)
arrow_label.grid(column=0, row=2)
# Entry
num_input = Entry(width=10)
num_input.grid(column=1, row=2, padx=5, pady=5)
# Radio Button
def label_update():
from_label.config(text=from_unit)
to_label.config(text=to_unit)
def change_mode(mode):
global from_unit, to_unit
if mode == "miles":
from_unit = "miles"
to_unit = "km"
else:
from_unit = "km"
to_unit = "miles"
label_update()
mode_select = StringVar()
miles_button = Radiobutton(text="miles -> km", value="miles", variable=mode_select, command=lambda: change_mode("miles"))
miles_button.select()
km_button = Radiobutton(text="km -> miles", value="km", variable=mode_select, command=lambda: change_mode("km"))
miles_button.grid(column=0, row=0)
km_button.grid(column=2, row=0)
# Button
def calculate(unit, value):
if value:
if unit == "miles":
result = miles_to_km(value)
elif unit == "km":
result = km_to_miles(value)
result_label.config(text=round(result, 3))
def miles_to_km(value):
return float(value) * 1.609
def km_to_miles(value):
return float(value) * 0.621
calculate_button = Button(text="CONVERT", command=lambda: calculate(unit=from_unit, value=num_input.get()))
calculate_button.grid(column=1, row=4)
window.mainloop()
실행 결과



012
'python' 카테고리의 다른 글
[baekjoon] 10789번 세로읽기 Python (1) | 2023.10.14 |
---|---|
[programmers] 문자열 여러번 뒤집기 (python) (8) | 2023.10.11 |
[python] *args 과 **kwargs (6) | 2023.10.10 |
[python] list comprehension 리스트 컴프리헨션 (0) | 2023.10.09 |
[python] code-runner extension 파일 실행 시 터미널을 초기화, file path 출력 안되게 변경 (0) | 2023.10.08 |