시계

18249 단어 Python

개시하다


컵라면을 좋아해요. 3분 측정을 위해서.
나는 초시계를 만들고 싶다.

이것은 완성형이다.

방법


두 라이브러리 가져오기

import tkinter as tk
import time

창 만들기

import tkinter as tk

class Application(tk.Frame):
    def __init__(self,master):
        super().__init__(master)
        self.pack()

        master.geometry("300x150")
        master.title("STOP WATCH")
        master.config(bg="black")

def main():
    win = tk.Tk()
    #win.resizable(width=False, height=False) #ウィンドウを固定サイズに
    app = Application(master=win)
    app.mainloop()

if __name__ == "__main__":
    main()
제목:stop watch
사이즈:300*150
배경색:검은색

단추를 달다

        tk.Button(master,text="start",command=self.resetButtonClick,width=10).place(x=10, y=110)
        tk.Button(master,text="stop",command=self.startButtonClick,width=10).place(x=110, y=110)
        tk.Button(master,text="reset",command=self.stopButtonClick,width=10).place(x=210, y=110)
버튼 이름 및 크기 지정

완성형 프로그램

import tkinter as tk
import time

class Application(tk.Frame):
    def __init__(self,master):
        super().__init__(master)
        self.pack()

        master.geometry("300x150")
        master.title("STOP WATCH")
        master.config(bg="black")

        self.startTime=time.time()
        self.stopTime=0.00
        self.elapsedTime=0.00
        self.playTime=False

        self.canvas = tk.Canvas(master,width=290,height=80,bg="silver")
        self.canvas.place(x=3,y=10)

        tk.Button(master,text="start",command=self.resetButtonClick,width=10).place(x=10, y=110)
        tk.Button(master,text="stop",command=self.startButtonClick,width=10).place(x=110, y=110)
        tk.Button(master,text="reset",command=self.stopButtonClick,width=10).place(x=210, y=110)

        master.after(50,self.update)

    def startButtonClick(self):
        if self.playTime:
            self.stopTime=time.time()-self.startTime
            self.playTime=False

    def stopButtonClick(self):
        self.startTime=time.time()
        self.stopTime=0.00
        self.elapsedTime=0.00
        self.playTime=False

    def resetButtonClick(self):
        if not self.playTime:
            self.startTime=time.time()-self.elapsedTime
            self.playTime=True

    def update(self):
        self.canvas.delete("Time")
        if self.playTime:
            self.elapsedTime=time.time()-self.startTime
            self.canvas.create_text(280,40,text=round(self.elapsedTime,1),font=("Helvetica",40,"bold"),fill="black",tag="Time",anchor="e")
        else:
            self.canvas.create_text(280,40,text=round(self.stopTime,1),font=("Helvetica",40,"bold"),fill="black",tag="Time",anchor="e")

        self.master.after(50,self.update)

def main():
    win = tk.Tk()
    #win.resizable(width=False, height=False) #ウィンドウを固定サイズに
    app = Application(master=win)
    app.mainloop()

if __name__ == "__main__":
    main()
이 소스 코드는
https://qiita.com/michimichix521/items/76234e7a991ab92e6fb3
이거 참고했어.
초시계의 색깔을 자기가 좋아하는 색깔로 바꾸다
버튼을 쉽게 누를 수 있도록 설정을 다시 배열했습니다.

최후


이 스톱워치는 초 단위로만 측정할 수 있으며 분 단위로 표시할 수 없습니다.
1/100초 정도 더 나오고 싶어요.
많이 찾아봤는데 어떻게 해야 할지 모르겠어요.
파이썬을 더 열심히 공부할 거예요. 다음에 뭘 할 때 제 생각대로 인코딩할 수 있을 것 같아요.

참고 문헌

좋은 웹페이지 즐겨찾기