【发布时间】:2021-11-24 18:55:21
【问题描述】:
大家好,阅读本主题。
我想做的是:在 if 语句中的值匹配后自动在标签中显示文本。 第二个选项可以是 Popup insted Label。 第三种方式可以跳转到不同的屏幕。
请帮帮我, 我真的不知道如何在不使用任何按钮的情况下将其与 kivy 连接。 以下是代码:
蟒蛇:
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="four"
print(' for example Here i need connect code with kivy to display on screen text as string or jump to another screen')
break
else:
pass
kv = Builder.load_file('temp.kv')
class NumbersApp(App):
def build(self):
return kv
if __name__ == '__main__':
NumbersApp().run()
和kv文件:
Main:
Numbers:
<Numbers>:
number:numb
cols:1
RelativeLayout:
Label:
id: numb
text: 'Text display after getting \ninfo from script in while loop \nin process def'
font_size: '15'
hint_size: None, None
pos_hint: {'x': 0.04, 'y': -0.4}
color: 1,1,1,1
【问题讨论】:
-
在你的 elif 语句下添加这个
self.root.ids.numb.text="four" -
它仍然无法正常工作,标签上的文字保持不变。出于某种原因,我什至没有在名为“数字”的控制台中打印出字符串。
标签: python-3.x kivy kivy-language