屏幕内的小部件(按钮、输入文本等)无法正常工作
Widgets ( button , inputtext etc. ) inside screen is not working
我想在屏幕内放置一些文本框和按钮,但似乎不起作用。代码中有任何建议或问题吗?当 运行 main.py 文本输入和第一个按钮和标签不存在时
Phone.kv
<Phone>:
orientation: 'vertical'
ScreenManager:
size_hint: 1, 1
id: _screen_manager
Screen:
name: 'screen1'
Label:
markup: True
text: 'manish'
TextInput:
text: 'Hi Kivy'
Button:
text: 'Go to Screen 1'
on_press:
_screen_manager.current = 'screen1'
Button:
text: 'Go to Screen 2'
on_press:
root.login()
_screen_manager.current = 'screen2'
Screen:
name: 'screen2'
GridLayout:
cols: 3
padding: 50
Button:
text: "1"
main.py
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
import time
class Phone(FloatLayout):
def login(self):
print "before"
time.sleep(2)
print "after"
class PhoneApp(App):
def build(self):
return Phone()
if __name__ == '__main__':
PhoneApp().run()
一切可能都在那里,只是彼此重叠,因为 Screen 默认放置其子项以填充自身。
尝试类似下面的方法,它使用应该将其子项放置在不同位置的框布局。
屏幕:
姓名:'screen1'
盒子布局:
方向:'vertical'
标签:
标记:正确
文字:'manish'
文本输入:
文本:'Hi Kivy'
按钮:
文本:'Go to Screen 1'
on_press:
_screen_manager.current = 'screen1'
按钮:
文本:'Go to Screen 2'
on_press:
root.login()
_screen_manager.current = 'screen2'
我想在屏幕内放置一些文本框和按钮,但似乎不起作用。代码中有任何建议或问题吗?当 运行 main.py 文本输入和第一个按钮和标签不存在时
Phone.kv
<Phone>:
orientation: 'vertical'
ScreenManager:
size_hint: 1, 1
id: _screen_manager
Screen:
name: 'screen1'
Label:
markup: True
text: 'manish'
TextInput:
text: 'Hi Kivy'
Button:
text: 'Go to Screen 1'
on_press:
_screen_manager.current = 'screen1'
Button:
text: 'Go to Screen 2'
on_press:
root.login()
_screen_manager.current = 'screen2'
Screen:
name: 'screen2'
GridLayout:
cols: 3
padding: 50
Button:
text: "1"
main.py
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
import time
class Phone(FloatLayout):
def login(self):
print "before"
time.sleep(2)
print "after"
class PhoneApp(App):
def build(self):
return Phone()
if __name__ == '__main__':
PhoneApp().run()
一切可能都在那里,只是彼此重叠,因为 Screen 默认放置其子项以填充自身。
尝试类似下面的方法,它使用应该将其子项放置在不同位置的框布局。
屏幕: 姓名:'screen1' 盒子布局: 方向:'vertical' 标签: 标记:正确 文字:'manish' 文本输入: 文本:'Hi Kivy' 按钮: 文本:'Go to Screen 1' on_press: _screen_manager.current = 'screen1' 按钮: 文本:'Go to Screen 2' on_press: root.login() _screen_manager.current = 'screen2'