KivyMD DatePicker 不随屏幕大小调整大小

Posted

技术标签:

【中文标题】KivyMD DatePicker 不随屏幕大小调整大小【英文标题】:KivyMD DatePicker not resizing with screen size 【发布时间】:2020-04-30 14:35:03 【问题描述】:

我不确定如何根据屏幕大小动态调整 MDDatePicker 的大小,它不会像 LabelsButtons 那样正确调整,而是会不规律地调整。

我在 KivyMD 文档中找不到很多内容,比如 Kivy 小部件。

您必须单击“选择日期”按钮才能打开日期选择器

py 文件

import kivy
from kivy.app import App
from kivy.properties import ObjectProperty, StringProperty, NumericProperty, ListProperty
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
from kivy.uix.popup import Popup
from kivy.uix.label import Label
from kivy.core.text import Label as CoreLabel
from kivy.uix.button import Button
from kivy.core.window import Window
from kivymd.theming import ThemeManager
import mysql.connector
from kivymd.uix.picker import MDDatePicker
from kivy.uix.scrollview import ScrollView


Window.clearcolor = (1,1,1,1)

class Information(Screen):

    def select_date(self):
        picker = MDDatePicker(callback=self.got_date)
        picker.open()

    def got_date(self, the_date):
        print(the_date)

class WindowManager(ScreenManager):
    pass


class MyApp(App):
    theme_cls = ThemeManager()

    def build(self):
        kv = Builder.load_file("kivy.kv")
        sm = WindowManager()

        screens = [Information(name="information")]
        for screen in screens:
            sm.add_widget(screen)

        sm.current = "information"
        return sm


if __name__ == '__main__':
    MyApp().run()

kv文件

<Information>:
    name: "information"

    NavigationLayout:
        id: nav_layout
        MDNavigationDrawer:
            NavigationDrawerIconButton:
                text: "Test"
                on_release: app.root.current = "login"

        FloatLayout:
            MDToolbar:
                pos_hint: 'top': 1
                md_bg_color: 0.2, 0.6, 1, 1
                left_action_items: [['menu', lambda x: root.ids.nav_layout.toggle_nav_drawer()]]

            MDRaisedButton:
                text: "Select date"
                pos_hint: "x": 0.35, "top": 0.6
                on_release: root.select_date()

提前致谢

【问题讨论】:

【参考方案1】:

你可以在MDRaisedButton 下试试:

MDRaisedButton:
    size: root.width, root.height

或者您需要调整大小的地方。 size 命令格式为 size: x, y in kv lang

【讨论】:

以上是关于KivyMD DatePicker 不随屏幕大小调整大小的主要内容,如果未能解决你的问题,请参考以下文章

UITabBar 宽度不随屏幕尺寸增加

css,怎么固定图片不随浏览器的大小而改变位置。

KivyMD - 如何使用 KivyMD BottomNavigationItems 和屏幕本身内的按钮在屏幕上导航?

如何在 KivyMD 屏幕之间传递参数?

具有多个屏幕的 KivyMD 菜单

KivyMD:独立的登录屏幕和 MDBottomNavigation