https://kivymd.readthedocs.io/en/latest/components/pickers/index.html#mddatepicker
此代码来自官方演示页面,所以它可能是 Github 问题要提出?
小部件正在测试中。因此,如果您将发现的错误告知我们,我们将不胜感激。
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.picker import MDDatePicker
KV = '''
MDFloatLayout:
MDToolbar:
title: "MDDatePicker"
pos_hint: {"top": 1}
elevation: 10
MDRaisedButton:
text: "Open time picker"
pos_hint: {'center_x': .5, 'center_y': .5}
on_release: app.show_date_picker()
'''
class Test(MDApp):
def build(self):
return Builder.load_string(KV)
def on_save(self, instance, value, date_range):
'''
Events called when the "OK" dialog box button is clicked.
:type instance: <kivymd.uix.picker.MDDatePicker object>;
:param value: selected date;
:type value: <class 'datetime.date'>;
:param date_range: list of 'datetime.date' objects in the selected range;
:type date_range: <class 'list'>;
'''
print(instance, value, date_range)
def on_cancel(self, instance, value):
'''Events called when the "CANCEL" dialog box button is clicked.'''
def show_date_picker(self):
date_dialog = MDDatePicker()
date_dialog.bind(on_save=self.on_save, on_cancel=self.on_cancel)
date_dialog.open()
Test().run()
TypeError: __init__() missing 1 required positional argument: 'callback'
答案 0 :(得分:0)
MDDatePicker 不适用于 kivymd-0.104.1
。您必须安装 kivymd-0.104.2.dev0
才能运行。
pip uninstall kivymd
pip install https://github.com/kivymd/KivyMD/archive/master.zip