gpt4 book ai didi

android - 仅使用 kv 文件在 kivy 中创建 DropDown

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

我想使用 DropDown 类获得一个简单的组合框,如小部件。我可以使用 python 代码来完成,但是否可以仅使用 kv 语言?

我尝试了以下方法。这是我的 Python 代码:

class CustomDropDown(DropDown):
pass

class MainForm(BoxLayout):
pass

class MainApp(App):
def build(self):
self.dropdown = CustomDropDown()
self.mainForm = MainForm()
return self.mainForm
def do_something(self):
self.dropdown.open(self.mainForm)

MainApp().run()

这是 kv 文件:

<MainForm>:
Button:
text: 'Press'
size_hint: [None,None]
height: '40dp'
on_release: app.do_something()
<CustomDropDown>:
Button:
text: 'First Item'
Label:
text: 'Disabled item'
Button:
text: 'Second Item'

但这行不通。你能建议点什么吗?感谢您的帮助。

最佳答案

是的,可以使用 kivy 语言。

您可以阅读有关 DropDownList 的信息或 Spinner通过这些链接。而且,如果您想了解更多有关他们工作的信息,您可能需要查看此 link for kivy-showcase

我认为代码是不言自明的。(on_select 方法)

这是main.py文件

from kivy.app import App
from kivy.uix.dropdown import DropDown
from kivy.uix.boxlayout import BoxLayout

class CustomDropDown(BoxLayout):
pass

class MainApp(App):
def build(self):
return CustomDropDown()
if __name__=='__main__':
MainApp().run()

这是main.kv文件

<CustomDropDown>:

Button:
id: btn
text: 'Press'
on_release: dropdown.open(self)
size_hint_y: None
height: '48dp'

DropDown:

id: dropdown
on_parent: self.dismiss()
on_select: btn.text = '{}'.format(args[1])

Button:
text: 'First Item'
size_hint_y: None
height: '48dp'
on_release: dropdown.select('First Item')

Label:
text: 'Second Item'
size_hint_y: None
height: '48dp'

Button:
text: 'Third Item'
size_hint_y: None
height: '48dp'
on_release: dropdown.select('Third Item')

关于android - 仅使用 kv 文件在 kivy 中创建 DropDown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30847903/

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