gpt4 book ai didi

python - Kivy - 如何在 python 中访问 kivy 小部件?

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

我想在 kivy 中编辑 TextInput 中的文本,但不知道如何操作,我在网上搜索时尝试过这段代码,但仍然没有成功。

class MainApp(Screen):
def __init__(self,**kwargs):
super(MainApp,self).__init__(**kwargs)
pass

class Forms(BoxLayout):
def __init__(self, **kwargs):
super(Main,self).__init__(**kwargs)
self.ids.txtSearch.text = "new text"

class Main(App):
def build(self):
return root_widget

if __name__ == "__main__":
Main().run()

------kivy-------

<Main>:
TextInput:
id: txtSearch

这不是我的全部代码,但我认为这些是问题中最重要的

这是错误:

    File "C:\Users\Guest\Documents\Python\Kivy\Project\main.py", line 295, in <module>
''')
File "D:\Kivy-1.9.0-py3.4-win32-x64\kivy34\kivy\lang.py", line 1828, in load_string
self._apply_rule(widget, parser.root, parser.root)
File "D:\Kivy-1.9.0-py3.4-win32-x64\kivy34\kivy\lang.py", line 1985, in _apply_rule
self.apply(child)
File "D:\Kivy-1.9.0-py3.4-win32-x64\kivy34\kivy\lang.py", line 1872, in apply
self._apply_rule(widget, rule, rule)
File "D:\Kivy-1.9.0-py3.4-win32-x64\kivy34\kivy\lang.py", line 1986, in _apply_rule
self._apply_rule(child, crule, rootrule)
File "D:\Kivy-1.9.0-py3.4-win32-x64\kivy34\kivy\lang.py", line 1986, in _apply_rule
self._apply_rule(child, crule, rootrule)
File "D:\Kivy-1.9.0-py3.4-win32-x64\kivy34\kivy\lang.py", line 1983, in _apply_rule
child = cls(__no_builder=True)
File "C:\Users\Guest\Documents\Python\Kivy\Project\main.py", line 40, in __init__
self.ids.txtSearch.text = "new text"
File "kivy\properties.pyx", line 720, in kivy.properties.ObservableDict.__getattr__ (kivy\properties.c:10911)
AttributeError: 'super' object has no attribute '__getattr__'

最佳答案

要更改 kivy 中的小部件属性,您需要在 .py 和 .kv 文件之间“链接”小部件,首先在 .py 文件中:

txt_Search = ObjectProperty()

然后在 .kv 文件中的根小部件中:

txt_Search: txtSearch

然后将 id 分配给一个小部件(就像您已经做的那样):

<Main>:
TextInput:
id: txtSearch
text: ' '

然后在您的 .py 文件中,您可以通过执行以下操作来更改小部件的属性:

self.txt_Search.text = 'New Text'

或任何其他属性:

self.txt_Search.height = '30dp'

关于python - Kivy - 如何在 python 中访问 kivy 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35506923/

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