在Mac中使用.kv作为GUI /使用Pycharm运行python文件时屏幕的网格显示

ntjbwcob  于 2022-12-14  发布在  Python
关注(0)|答案(1)|浏览(171)

我正在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()
vc9ivgsu

vc9ivgsu1#

您试图将Widget基类用作容器,但它不是为此用途而设计的。请尝试使用某个Layout类作为MyGrid的基类,如下所示:

class MyGrid(FloatLayout):
    pass

请注意,这将导致GUI为FloatLayout,其中包含GridLayout,而GridLayout又包含另一个GridLayout。如果您不希望这样做,请考虑将MyGrid的基类更改为GridLayout,并删除一个或两个包含的GridLayouts

相关问题