首页 > 解决方案 > Kivy 内容大小调整

问题描述

我最近开始在kivy工作。我现在正在做的事情是,我有一个带有按钮的空白页面,当我单击该按钮时,它会导航到用户输入屏幕。它工作正常,但内容在一个非常小的输入框和文本中,如图所示。

这里

我的问题是我希望它更大且居中。

这是我的代码:

在蟒蛇中:

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
from kivy.uix.widget import Widget
from kivy.lang import Builder

class LoginScreen(GridLayout):
    def __init__(self, **kwargs):
        super(LoginScreen, self).__init__(**kwargs)
        self.cols = 2
        self.add_widget(Label(text="Username:"))
        self.username = TextInput(multiline=False)
        self.add_widget(self.username)

        self.add_widget(Label(text="Password:"))
        self.password = TextInput(multiline=False, password=True)
        self.add_widget(self.password)

        self.add_widget(Label(text="Two Factor Auth:"))
        self.tfa = TextInput(multiline=False)
        self.add_widget(self.tfa)

class MainScreen(Screen):
    pass

class AnotherScreen(Screen):
    pass

class ScreenManagement(ScreenManager):
    pass

presentation = Builder.load_file("screen.kv")   

class SimpleKivy(App):
    def build(self):
        return presentation

if __name__ == "__main__":
    SimpleKivy().run()

千伏:

 #: import FadeTransition kivy.uix.screenmanager.FadeTransition

ScreenManagement:
    transition: FadeTransition()
    MainScreen:
    AnotherScreen:

<MainScreen>:
    name: "main"
    Button:
        color: 0,1,0,1
        font_size: 25
        size_hint: 0.3,0.2
        text: "Click"
        on_release: app.root.current = "other" 
        pos_hint: {"right":1, "top":1}      


<AnotherScreen>:
    name: "other"

    GridLayout:
        LoginScreen

标签: pythonkivykivy-language

解决方案


在你screen.kv的里面,你有LoginScreen一个GridLayout。既然LoginSCreen是 a GridLayout,你就不需要那个额外的了GridLayout

只是改变:

<AnotherScreen>:
    name: "other"

    GridLayout:
        LoginScreen

至:

<AnotherScreen>:
    name: "other"

    LoginScreen:

推荐阅读