首页 > 解决方案 > 为什么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()

标签: pythonkivy

解决方案


对于任何 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()

推荐阅读