kivy - 为什么 garden.scrolllabel 模块给我错误“无法将字符串转换为浮点数”?
问题描述
我对 garden.scrolllabel 包有疑问。
我在其他堆栈溢出问题中看到,获得包含大量内容的滚动视图的一种方法是使用 garden.scrolllabel。但是当我尝试使用它时,在我的电脑上(以及在使用 buildozer 的构建中)它给了我错误:
child = cls(__no_builder=True) 文件“kivy_event.pyx”,第 190 行,在 kivy._event.EventDispatcher 中。cinit 文件“ kivy \properties.pyx”,第 448 行,在 kivy.properties.Property.link 文件“kivy\properties.pyx”,第 633 行,在 kivy.properties.NumericProperty.init_storage 文件“kivy\properties.pyx”,第 419 行,在 kivy.properties.Property.init_storage 文件“kivy\properties.pyx”,第 656 行,在 kivy.properties.NumericProperty.convert 文件“kivy\properties.pyx”,第 666 行,在 kivy.properties.NumericProperty。 parse_str ValueError:无法将字符串转换为浮点数:
值错误。如果我运行模块的 github 存储库中的示例,也会发生同样的情况。我看到模块中有一些类似的问题,但从未修复它。我的问题是,我可以以某种方式修复此错误以使用 garden.srolllabel 吗?自从花朵发布以来,我想这仅取决于机器或版本(我想该软件包实际上可以工作)。有一些建议可以解决这个问题吗?
我在这里报告引起我错误的代码:
__version__ = "1.0"
from kivy.app import App
from kivy.lang import Builder
from kivy.garden.scrolllabel import ScrollLabel
LOREM = """Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Curabitur nec arcu accumsan, lacinia libero sed, cursus nisi.
Curabitur volutpat mauris id ornare finibus. Cras dignissim arcu
viverra, bibendum est congue, tempor elit. Vivamus luctus sapien
sapien, id tincidunt eros molestie vitae. Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Ut commodo eget purus vel efficitur.
Duis facilisis ex dolor, vel convallis odio pharetra quis. Vivamus eu
suscipit tortor. Proin a tellus a nisl iaculis aliquam. Nam tristique
ipsum dui, ut faucibus libero lacinia id. Pellentesque eget rhoncus
justo, quis interdum eros. Suspendisse felis lorem, gravida in orci
ac, auctor malesuada turpis. Fusce dapibus urna dolor, id viverra
enim semper a. Proin dignissim neque quis ante commodo feugiat.
Duis dictum sagittis urna nec dapibus. Vestibulum ac elit vel nunc
euismod lobortis. Vivamus sit amet tortor in diam consectetur
ultrices vitae vulputate leo. Aenean vehicula orci leo, eget
fringilla enim condimentum eget. Sed sapien lacus, vulputate nec
ligula eget, luctus feugiat risus. Nullam ultricies quam ac metus
imperdiet, eget scelerisque dolor commodo. Ut nec elementum orci. C
ras massa lacus, consectetur varius est a, congue pulvinar magna.
Proin nec sapien facilisis, tristique turpis vel, malesuada leo.
Phasellus faucibus justo vel risus tristique, in laoreet ligula
vestibulum. Vestibulum varius eget nibh nec convallis. Morbi eu diam
at turpis mollis hendrerit. Aenean sed turpis lectus.
Suspendisse pharetra ligula nec faucibus mattis. Aliquam et felis
eget augue efficitur aliquam viverra ut tellus. Aliquam sagittis ut
sapien venenatis condimentum. Quisque in turpis ac nisi vehicula
commodo vel porttitor erat. Maecenas lobortis, sapien dictum congue
gravida, nulla urna ultricies lorem, at tincidunt ex arcu nec eros.
Maecenas egestas a augue sit amet euismod. Praesent ut sapien metus.
urabitur lorem erat, consectetur quis rhoncus quis, tristique ac
ligula. Suspendisse justo magna, cursus id mauris et, lacinia egestas
neque.
Suspendisse bibendum sit amet est eget ullamcorper. Duis pellentesque
tristique nisi. Donec id dolor eget arcu lobortis sollicitudin vel et
justo. Vivamus vel risus eget felis condimentum tempus ac sed dui. D
onec placerat risus quis metus auctor sagittis. Pellentesque vel sem
dolor. Praesent erat eros, facilisis placerat ultrices et, interdum
quis risus. Donec eleifend risus dapibus, laoreet felis ut, fermentum
neque. Aenean purus elit, congue non tempus quis, dictum quis metus.
Maecenas finibus rutrum bibendum. Ut vestibulum dapibus felis vel
luctus. Aliquam vitae consequat eros, quis ultricies tortor. Quisque
eu accumsan erat, id commodo nisi.
tiam nec risus porttitor, placerat est et, facilisis diam. Etiam vel
feugiat ligula. Aliquam at quam congue, lacinia velit nec, congue
nibh. In varius quis elit vel sollicitudin. Vivamus molestie
elementum ipsum et vehicula. Etiam non augue quis tortor ultrices
maximus. Etiam vel blandit nibh. Nullam facilisis posuere erat vel
mattis. Vestibulum mattis condimentum purus efficitur vehicula.
Aliquam consequat interdum eros eu semper. Etiam feugiat, erat at
tempor tincidunt, odio eros maximus sapien, sit amet lacinia nibh
tortor quis dui. In hac habitasse platea dictumst.
"""
KV_EXAMPLE = """
#: import LOREM __main__.LOREM
BoxLayout:
orientation: "vertical"
Label:
text: "ScrollLabel Demo"
size_hint_y: None
height: "48sp"
ScrollLabel:
id: sl
text: LOREM * int(sl_count.value)
font_size: sl_fontsize.value
BoxLayout:
size_hint_y: None
height: "48sp"
Label:
text: "Text count"
size_hint_x: None
width: self.texture_size[0] + dp(48)
Slider:
id: sl_count
min: 1
max: 20
value: 1
step: 1
BoxLayout:
size_hint_y: None
height: "48sp"
Label:
text: "Font size"
size_hint_x: None
width: self.texture_size[0] + dp(48)
Slider:
id: sl_fontsize
min: sp(8)
max: sp(100)
value: sp(14)
BoxLayout:
size_hint_y: None
height: "48sp"
Label:
text: "Alignment"
size_hint_x: None
width: self.texture_size[0] + dp(48)
Button:
text: "Left"
on_press: sl.halign = "left"
Button:
text: "Center"
on_press: sl.halign = "center"
Button:
text: "Right"
on_press: sl.halign = "right"
"""
class TestScrollLabel(App):
def build(self):
return Builder.load_string(KV_EXAMPLE)
if __name__ == "__main__":
TestScrollLabel().run()
解决方案
推荐阅读
- angular - ngrx createSelector TypeError 中的错误:无法读取未定义的属性“isOpen”
- php - 使用 UNION 在多个表中搜索但是当 ECHO 说未定义的变量时
- excel - 将 Google Chrome 窗口设置为变量
- google-apps-script - 聊天机器人如何提及尚未进入房间的用户?
- arrays - 将一个数组与另一个数组进行比较,然后返回匹配结果的索引
- python - 如何使用 Python 正则表达式删除除模式之外的所有内容
- javascript - 织物 js 活动对象不可选择
- django - 运行 Python manage.py runserver 命令时出错
- testing - 您如何比较 Testcafe 中的选择器属性?
- sonarqube - 声纳 | 包装停止 | 7.1