python - 为什么kivy不显示文本框
问题描述
为什么 kivy 不显示此代码的文本框?请帮助我知道如何让 kivy 使用这种样式添加文本框。
谢谢你
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
class textbox(GridLayout):
def __initial__(self, **kwargs):
super(MyGrid, self).__initial__(**kwards)
self.cols = 2
self.add_widger(Label(text = "Point for good"))
self.name = TextInput(multiline = False)
self.add_widget(self.name)
if __name__ == '__main__':
textbox().run()
解决方案
对于任何 kivy 程序,您需要从App
类继承并覆盖该build
方法并将您的 UI 元素放在这里,并从继承该类的类的实例调用 run()App
方法
其次,它add_widget()
不是add_widger
,也许你的意思是__init__()
而不是__initial__
这是更正后的代码:
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
class TextBox(App):
def build(self):
grid = GridLayout()
grid.cols = 2
grid.add_widget(Label(text = "Point for good"))
name = TextInput(multiline = False)
grid.add_widget(name)
return grid
if __name__ == '__main__':
TextBox().run()
推荐阅读
- haskell - Haskell - 是否有扩展单子类型 [ m (a -> mb) -> ma -> mb ]
- mysql - VBA Access:通过代码更改绑定字段而不会发生写入冲突?
- reactjs - 道具更改时React不会更新孩子吗?
- php - 通过 Authenticator App 将 2FA 或 OTP(通过电子邮件)添加到 Laravel Fortify 2FA
- python - 如何使用计时器关闭视频窗口?
- python - 在 pandas 中处理日期时间字符串中的 T
- web-component - Lottie player 在运行时更改 src 属性时不更新底层动画?
- python - BeautifulSoup-scrape html code from a website not working
- algorithm - Leetcode 572:另一棵树的子树运行时空分析
- linux - JMeter Perfmon 插件服务器代理错误:java.net.SocketException:权限被拒绝