Python - Empezar un codigo mediante botones

   
Vista:

Empezar un codigo mediante botones

Publicado por David alcangalda@gmail.com (8 intervenciones) el 30/08/2016 22:42:51
Hola a todos,estoy creando un cronometro en python.
Y quiero hacer que cuando uno apriete un boton , el cronometro empieze.
Lo tengo todo hecho y tengo un sistema en el que si una funcion es cierta el while se active y todo empieze.
El problema esta en que todo funciona incluso sin darle al boton ni nada.
Llevo 1 hora revisando codigo y supongo que sera una tonteria.
Alguien me podria explicar como hacer correctamente este sistema.
Muchas gracias de antemano.
Aqui dejo el codigo, por si lo quereis toquitear:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from tkinter import *
from tkinter import font,ttk
import time,os
def empezar():
    return True
def parar():
    return True
horas = "00"
minutos = "00"
segundos = "00"
texto = str(horas)+" " + str(minutos) + " "+str(segundos)
tamañotexto1=55
root = Tk()
root.geometry("1000x600")
var = StringVar()
var.set(texto)
Helvfont = font.Font(family="Helvetica", size=tamañotexto1, weight="bold")
l = Label(root,textvariable = var,font=Helvfont,fg="blue").pack()
ttk.Button(root,command=empezar,text="EMPEZAR EL CRONOMETRO",width=50).place(x=300,y=300)
ttk.Button(root,command=parar,text="PARAR EL CRONOMETRO",width=50).place(x=700,y=300)
numero =0
while 1:
    if empezar()== True:
        horas = int(horas)
        minutos = int(minutos)
        segundos = int(segundos)
        segundos+=1
        horas = "0"+str(horas)
        minutos = "0"+str(minutos)
        segundos = "0"+str(segundos)
        texto = str(horas)+":"+ str(minutos) + ":"+str(segundos)
        if segundos == 60:
            segundos = 0
            minutos +=1
        if minutos == 60:
            minutos = 0
            horas +=1
        if horas == 24:
            horas = 0
            minutos =0
            segundos =0
        time.sleep(1)
        var.set(texto)
        root.update()
    else:
        pass
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Empezar un codigo mediante botones

Publicado por xve (1378 intervenciones) el 31/08/2016 08:27:51
Hola David, el while, tiene que estar dentro del la función empezar()... para cuando pulse sobre el botón!!!

Al final de tu código te falta el
1
root.mainloop()
para que no finalice la aplicación!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar