我正在youtube上学习一个教程,当我运行代码时,窗口显示的标签在屏幕左下方有一半。
.kv文件为:
<MyGrid>
GridLayout:
cols: 1
GridLayout:
cols: 2
Label:
text: "Name: "
TextInput:
multiline:False
Label:
text: "Email: "
TextInput:
multiline:False
Button:
text: "Submit"
py文件是:
from kivy.app import App
from kivy.uix.widget import Widget
class MyGrid(Widget):
pass
class MyApp (App):
def build(self):
return MyGrid()
if __name__ == "__main__":
MyApp().run()
1条答案
按热度按时间vc9ivgsu1#
您试图将
Widget
基类用作容器,但它不是为此用途而设计的。请尝试使用某个Layout
类作为MyGrid
的基类,如下所示:请注意,这将导致GUI为
FloatLayout
,其中包含GridLayout
,而GridLayout
又包含另一个GridLayout
。如果您不希望这样做,请考虑将MyGrid
的基类更改为GridLayout
,并删除一个或两个包含的GridLayouts
。