Python:如何在.kv文件中添加日期选择器

时间:2018-01-30 06:28:53

标签: python python-3.x python-2.7 kivy kivy-language

有谁能告诉我如何在date picker TextBox上添加date或kivy日历?
我有两个文件test.pytest.kv文件。

test.py

import kivy
import sqlite3 as lite

from kivy.uix.screenmanager import Screen
from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.label import Label


Window.clearcolor = (0.5, 0.5, 0.5, 1)
Window.size = (400, 125)


class Testing(Screen):
    pass

class Testing(App):

    def build(self):
        self.root = Builder.load_file('test.kv')
        return self.root


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

test.kv

Testing:
    BoxLayout:
        orientation: "vertical"
        padding : 20, 20

        BoxLayout:
            orientation: "horizontal"
            padding: 10, 10
            spacing: 10, 10
            size_hint_x: .55

            Label:
                text: "Date"
                text_size: self.size
                valign: 'middle'
                size_hint_x: .2

            TextInput:
                size_hint_x: .3

        BoxLayout:
            orientation: "horizontal"
            padding : 10, 0
            spacing: 10, 10
            size_hint: .5, .7
            pos_hint: {'x': .25, 'y':.25}

            Button:
                text: 'Ok'
                on_release:
                    root.dismiss()

            Button:
                text: 'Cancel'
                on_release: root.dismiss()

1 个答案:

答案 0 :(得分:0)

.kv文件

#:import MDTextField kivymd.uix.textfield.MDTextField
MDTextField:
    id: set_date
    hint_text: 'Start Date'
    write_tab: False
    on_focus: root.setDate()

.py文件

from kivymd.uix.picker import MDDatePicker
def setDate(self,dobj):
    self.ids.set_date.text = str(dobj)
    pass

def fromDate(self):
    self.foc = self.ids.set_date.focus
    if(self.foc==True):
        MDDatePicker(self.setFDate).open()
    else:
        print("not")