[PYTHON] C'est un chronomètre

introduction

J'aime les ramen en tasse et je veux mesurer pendant 3 minutes Je voulais faire un chronomètre.

stop watch.gif

Ceci est le formulaire rempli.


Comment faire

Importer deux bibliothèques

import tkinter as tk
import time

Faire une fenêtre

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) #Fenêtre de taille fixe
    app = Application(master=win)
    app.mainloop()

if __name__ == "__main__":
    main()

Titre: chronomètre Taille: 300 * 150 Couleur de fond: noir


Faire un bouton

        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)

Spécifiez le nom et la taille du bouton


Programme complet

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) #Fenêtre de taille fixe
    app = Application(master=win)
    app.mainloop()

if __name__ == "__main__":
    main()

Ce code source est https://qiita.com/michimichix521/items/76234e7a991ab92e6fb3 J'ai été autorisé à en parler. Vous pouvez changer la couleur du chronomètre à votre guise J'ai réorganisé la disposition des boutons pour me faciliter la tâche.


finalement

Ce chronomètre ne peut mesurer qu'en secondes et ne peut pas s'afficher en minutes. Je voulais aussi l'afficher jusqu'à environ 1/100 de seconde, Je ne savais pas comment le faire même après avoir recherché diverses choses. La prochaine fois que j'ai étudié Python davantage et créé quelque chose, je voulais être capable de coder comme je le voulais.

Les références

https://qiita.com/michimichix521/items/76234e7a991ab92e6fb3


Recommended Posts

C'est un chronomètre
Chronomètre
C'est un Mac. Qu'est-ce que la commande Linux Linux?