Kivy Spinner 自动更新
Kivy Spinner Autoupdate
我有一个 kivy 微调器,我似乎无法使用 "text_autoupdate" 功能。可以在此处找到文档:https://kivy.org/docs/api-kivy.uix.spinner.html
我的 .py 代码:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.spinner import Spinner
from kivy.uix.button import Button
from kivy.properties import ListProperty, BooleanProperty
class Port_Selection(Widget): # list all serial ports
ports = ["[None]"]
selection = ListProperty(['hit refresh'])
def port_refresh(self):
port = ["1","2","3"]
if port == []: # if none found
message = {"None"} # return "none"
port = message
self.ports = port
print self.ports
class SensorTest(Widget):
pass
class Sensor(App):
def build(self):
return SensorTest()
if __name__ == '__main__':
Sensor().run()
还有我的 .kv 代码:
#:kivy 1.0.9
<Port_Selection>:
Spinner:
text: 'Select Port'
text_autoupdate: True
values: root.ports
pos: root.x,root.y
Button:
text: 'Refresh Ports'
pos: root.x+100, root.y
on_press: root.port_refresh();
<SensorTest>:
Label:
font_size: 45
center_x: root.width/2
center_y: root.top - 50
text: "Sensor Testing"
Port_Selection:
pos: self.pos
如何让 "text_autoupdate" 功能正常工作?
您忘记将端口定义为 ListProperty
变化:
ports = ["[None]"]
收件人:
ports = ListProperty(["[None]"])
我有一个 kivy 微调器,我似乎无法使用 "text_autoupdate" 功能。可以在此处找到文档:https://kivy.org/docs/api-kivy.uix.spinner.html
我的 .py 代码:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.spinner import Spinner
from kivy.uix.button import Button
from kivy.properties import ListProperty, BooleanProperty
class Port_Selection(Widget): # list all serial ports
ports = ["[None]"]
selection = ListProperty(['hit refresh'])
def port_refresh(self):
port = ["1","2","3"]
if port == []: # if none found
message = {"None"} # return "none"
port = message
self.ports = port
print self.ports
class SensorTest(Widget):
pass
class Sensor(App):
def build(self):
return SensorTest()
if __name__ == '__main__':
Sensor().run()
还有我的 .kv 代码:
#:kivy 1.0.9
<Port_Selection>:
Spinner:
text: 'Select Port'
text_autoupdate: True
values: root.ports
pos: root.x,root.y
Button:
text: 'Refresh Ports'
pos: root.x+100, root.y
on_press: root.port_refresh();
<SensorTest>:
Label:
font_size: 45
center_x: root.width/2
center_y: root.top - 50
text: "Sensor Testing"
Port_Selection:
pos: self.pos
如何让 "text_autoupdate" 功能正常工作?
您忘记将端口定义为 ListProperty
变化:
ports = ["[None]"]
收件人:
ports = ListProperty(["[None]"])