// Python GUI
// 속도와 거리 산출하여 조건 만족시 메시지박스(알림창) 출력
// 속도와 거리는 randrange() 사용하여 임의의 값 생성되도록 함
from tkinter import * ## tkinter module import
from tkinter import messagebox ## tkinter messagebox import
from random import * ## random module import
class App : # 여기서부터 App class 구현
def __init__(self, master) : # define
frame = Frame(master)
frame.pack()
button1 = Button(frame, text = "속도", command = self.measure_s)
button1.grid(row = 0, column = 0) # 0행 0열에 표시
self.speed_var = IntVar() # double형 값을 입력받는 공간
Label(frame, textvariable = self.speed_var).grid(row = 0, column = 1) # 0행 1열에 표시
# self.speed_var이 출력
button2 = Button(frame, text = "거리", command = self.measure_d)
button2.grid(row = 1, column = 0) # 1행 0열에 표시
self.distance_var = IntVar() # int형 값을 입력받는 공간,
Label(frame, textvariable = self.distance_var).grid(row = 1, column = 1) # 1행 1열에 표시
# self.distance_var이 출력
button3 = Button(frame, text = '측정', command = self.measure)
button3.grid(row = 2, columnspan = 2)
def measure_s(self) :
s1 = randrange(50, 151) # 50이상 151미만 난수 생성
self.speed_var.set(s1)
def measure_d(self) :
d1 = randrange(100, 151) # 100이상 151미만 난수 생성
self.distance_var.set(d1)
def measure(self) :
s2 = self.speed_var.get() # intVar -> int형으로 s2에 저장
d2 = self.distance_var.get() # intVar -> int형으로 d2에 저장
# if((s2 > 99) and (d2 < 121)) : # 속도 99 초과(100 이상), 거리 121미만(120 이하) - 아래 행과 같음
if((s2 >= 100) and (d2 <= 120)) : # 속도 100 이상, 거리 120 이하
messagebox.showinfo("주의!", "속도를 줄이세요") # 메시지박스 출력(제목, 내용 순)
root = Tk()
root.wm_title('제 목') # window(GUI) 제목
app = App(root)
root.mainloop()
'공부기록 > Python' 카테고리의 다른 글
Left-Right Flip Method 구현 (0) | 2023.05.26 |
---|---|
[scikit-learn] F1 Score 산출 (0) | 2023.04.16 |