由于以下原因导致发动机熄火keyboard.u按下了吗功能,或者线程?

2024-07-05 14:35:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的代码,我与tkinter的经验,我做了一个货币计数器与tkinter,使它发生在屏幕上,我需要使一个标签改变它的文本属性形成一个文本到另一个按钮,问题是,它在控制台上工作,但当我试图使它在tkinter冻结,不改变。我要说的部分是,用(----代码---)突出显示的部分。你知道吗

我知道这个问题与线程有关,因为当我删除keyboard.u按下了吗,但实际上我不知道如何实现它。你知道吗

from tkinter import *

import keyboard

import sys

import time

import winsound

raiz = Tk()

raiz.title("Contador de Divisas")

raiz.iconbitmap("MonedaContador.ico")


Total = 0

def contador_de_espacios(divisa, diccionario):
    global lista
    global Total
    global posiciones_en_diccionario
    Numero = ""
    Contador = 0
    Escape = 0
    Cambiar = 0
    Multiplicador = divisa * 5
    Nombre = str(divisa)
    suma_lista = 0

    if divisa > 2:
        Nombre = (" billetes de " + Nombre + " Euros.")
    else:
        Nombre = (" Monedas de " + Nombre + " Euro/s.")
    eleccion.config(text = Nombre)----------------------------
    while True:

            if keyboard.is_pressed('space'):
                Control = 0
                Contador += 1
                Numero = str(Contador)
                Marcador.config(text = Numero)-------------------------------
                winsound.Beep(2500, 200)
                time.sleep(0.25)



def clasificador_de_divisa(boton):

    global posiciones_en_lista

    posicion = posiciones_en_lista.get(str(boton))

    contador_de_espacios(boton, posicion)

myframe = Frame()

myframe.pack()

myframe.config(width = "650", height = "350")

explicacion = Label(myframe, text = "Esto es un contador de divisas en euros. Por cada grupo de 5 monedas/billetes le das una vez al espacio, cosa que añadirá 1 monton de 5 monedas/billetes al contador.")

explicacion.grid(row = 0, column = 0, padx = 10, pady = 30, columnspan = 9)

explicacion.config(font = (30))

eleccion = Label(myframe)--------------------------------------

eleccion.grid(row = 1, column = 2, padx = 10, pady = 30, columnspan = 5)

eleccion.config(font = (30))

Marcador = Label(myframe, text = "0")

Marcador.grid(row = 2, column = 3, pady = 30, columnspan = 3, rowspan = 1)

Marcador.config(font=("Arial",100), bg = "black", fg = "white")

boton1euro = Button(myframe, text = "1 Euro", width = 10, command = lambda:clasificador_de_divisa(1))
boton1euro.grid(row = 3, column = 0, padx = 10, pady = 30)

raiz.mainloop()

预期的输出是更改标签的程序,但它不会更改并冻结。你知道吗


Tags: textimportconfigtkinterdeglobalenlista