【发布时间】:2021-05-19 21:33:00
【问题描述】:
嘿,我是 kivy 的新手,我按照关于 Kivy 的 tim 视频教程一步一步制作了一个非常基本的 Kivy 程序,但由于某种原因,在我的计算机中,从 kivy.properties 导入 ObjectProperty 出现错误,我发现一种解决方案是将“kivy.properties import ObjectProperty”更改为“import kivy.properties as kyprops”,然后在我需要声明 ObjectProperty 时键入 kyprops,但我仍然在 MyGrid(Widget) 类中遇到这 2 个错误: “和”在 MyGrid 名称 = kyprops(None) TypeError: 'module' object is not callable" 有什么想法吗?这是代码
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.widget import Widget
import kivy.properties as kyprops
class MyGrid(Widget):
name = kyprops.ObjectProperty(None)
email = kyprops.ObjectProperty(None)
def btn(self):
print("Name:", self.name.text, "email:", self.email.text)
self.name.text = ""
self.email.text = ""
class MyApp(App):
def build(self):
return MyGrid()
if __name__ == "__main__":
MyApp().run()
Kv 代码是这样的
#:kivy !ex
<MyGrid>:
name: name
email: email
GridLayout:
cols:1
size: root.width - 200, root.height -200
pos: 100, 100
GridLayout:
cols:2
Label:
text: "Name: "
TextInput:
id: name
multiline:False
Label:
text: "Email: "
TextInput:
id: email
multiline:False
Button:
text:"Submit"
on_press: root.btn()
【问题讨论】:
-
你可能想使用
kyprops.ObjectProperty(None)。 -
不,现在我实际上有比以前更多的错误 (prntscr.com/zuskyt)
标签: python pycharm kivy kivy-language