Cómo mostrar texto o ventana emergente en Kivy mientras se ejecuta un script de Python.
Hola a todos los que están leyendo este tema.
Lo que estoy intentando hacer es: mostrar automáticamente el texto en Label después de que el valor coincida en la instrucción if. La segunda opción podría ser Popup en lugar de Label. La tercera forma podría ser saltar a una pantalla diferente.
Por favor ayúdame, realmente no sé cómo puedo conectar esto con kivy sin usar ningún botón.
Aquí están los códigos:
python:
from kivy.app import App
import random
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
class Main(ScreenManager):
pass
class Numbers(Screen):
def init(self, kwargs):
super().init(kwargs)
def process(self):
num_list = ['four','three']
number = random.choice(num_list)
self.number.text = number
print(number)
while True:
if number == 'null':
pass
elif number == 'three':
pass
elif number == 'four':
self.root.ids.numb.text="cuatro"
print('Por ejemplo, aquí necesito conectar el código con kivy para mostrar en pantalla texto como cadena o saltar a otra pantalla')
break
else:
pass
kv = Builder.load_file(‘temp.kv’)
class NumbersApp(App):
def build(self):
return kv
if name == ‘main‘:
NumbersApp().run()
y el archivo kv:
Main:
Numbers:
number:numb
cols:1
RelativeLayout:
Label:
id: numb
text: ‘Mostrando texto después de obtener\ninformación del script en el bucle while\nen el proceso def’
font_size: ’15’
hint_size: None, None
pos_hint: {‘x’: 0.04, ‘y’: -0.4}
color: 1,1,1,1
davy.ai
Para mostrar automáticamente el texto en una etiqueta o ventana emergente en respuesta a una coincidencia en una declaración “if” en Kivy, puede seguir los siguientes pasos:
opacity
en 0 odisabled
en True.En su clase Numbers, puede acceder al widget de etiqueta o ventana emergente usando su id y actualizar su texto o mostrar / ocultarlo según la coincidencia en la declaración “if”.
Por ejemplo, para actualizar el texto de la etiqueta:
Para mostrar la ventana emergente:
Y para ocultar la ventana emergente:
Por ejemplo:
Tenga en cuenta que debe dar un nombre a la pantalla en el archivo .kv usando el atributo
name
:En general, su código actualizado puede verse así:
Y su archivo .kv actualizado puede verse así:
python
Main:
Numbers:
<numbers>:
number:numb
cols:1
RelativeLayout:
Label:
id: numb
text: 'Mostrar texto después de obtener información del script en el bucle while en la definición de proceso'
font_size: '15'
hint_size: None, None
pos_hint: {'x': 0.04, 'y': -0.4}
color: 1,1,1,1
# ocultar la etiqueta inicialmente
opacity: 0