from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
class LoginScreen(GridLayout):
def __init__(self, **kwargs):
super(LoginScreen, self).__init__(**kwargs)
self.cols = 2
self.add_widget(Label(text='User Name'))
self.username = TextInput(multiline=False)
self.add_widget(self.username)
self.add_widget(Label(text='password'))
self.password = TextInput(password=True, multiline=False)
self.add_widget(self.password)
class MyApp(App):
def build(self):
return LoginScreen()
if __name__ == '__main__':
MyApp().run()
运行结果
在第二行,导入了网格布局:
from kivy.uix.gridlayout import GridLayout
在第九行,这个类被用作根部件的作为一个基本布局:
class LoginScreen(GridLayout):
在第12行,我们重载了方法init()以便于我们添加部件和行为:
def __init__(self, **kwargs):
super(LoginScreen, self).__init__(**kwargs)
不能忘记调用父类的super方法,以实现基类的基本功能;同时也要注意在调用super时不要忽略**kwargs参数,因为它们有时在内部使用。