gpt4 book ai didi

python - 根据更改标签文本到 python 变量

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:07 25 4
gpt4 key购买 nike

我正在为加热控制系统编写代码。

我只是希望能够在 PYTHON 内更改标签文本。我的意思是,不是在 GUI 代码中,而是在主体的其他地方。

这是我的 MWE:

import time
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
import multiprocessing
from kivy.properties import StringProperty


class Data (Widget):
top = StringProperty('hiii')
def __init__(self, **kwargs):
super(Widget, self).__init__(**kwargs)


global mydata
mydata=Data()

class myw (BoxLayout):
def __init__(self, **kwargs):
super(myw, self).__init__(**kwargs)
VERT = BoxLayout(orientation='vertical')
o = Label(text='Oben: ',
font_size=120)
m = Label(text='Mitte: ',
font_size=120)
u = Label(text='Unten: ',
font_size=120)
a = Label(text='Aussen: ',
font_size=120)

mydata.bind(top=o.setter('text'))

VERT.add_widget(o)
VERT.add_widget(m)
VERT.add_widget(u)
VERT.add_widget(a)

onoff = Button(text='Ein',
font_size=120,
size_hint=(0.3, 1))
self.add_widget(VERT)
self.add_widget(onoff)



class TutorialApp(App):
def build(self):
return myw()

if __name__ == "__main__":
try:
global myapp
myapp=TutorialApp()
app_runner=multiprocessing.Process(target=myapp.run)
app_runner.start()
time.sleep(3)
mydata.top='new value assigned'
print (mydata.top)
time.sleep(5)
app_runner.terminate()
except Exception as e:
print ('error occured', e)

我特意在 kivy 代码之外声明了变量“mydata”,这样我就可以从代码中的其他位置访问它(此处未显示)。

最佳答案

使用线程而不是多处理解决了这个问题。

所以而不是

app_runner=multiprocessing.Process(target=myapp.run)

现在显示为:

app_runner=threading.Thread(target=myapp.run)

关于python - 根据更改标签文本到 python 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40323678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com