I need the Spinner Dropdown to have values containing- Present day's Date (whichever day the user is opening the app)...+ the next 10 Dates from the present day. (Note- It should update automatically)
For example, if present date is 18/8/2021 I need the dropdown to show:-
| Select Date ^ |
| 18/8/2021 |
| 19/8/2021 |
| 20/8/2021 |
| 21/8/2021 |
| 22/8/2021 |
| 23/8/2021 |
| 24/8/2021 |
| 25/8/2021 |
| 26/8/2021 |
| 27/8/2021 |
| 28/8/2021 |
Python Code:
from kivy.app import App
from kivy.uix.button import Button
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.uix.screenmanager import Screen,ScreenManager
class Main(Screen):
pass
class Manager(ScreenManager):
pass
kv=Builder.load_file("test1.kv")
screen=Manager()
screen.add_widget(Main(name="main"))
class Test(App):
def build(self):
return screen
Test().run()
Kv Code:
<Main>:
name: "main"
Spinner:
id: date
text: "Select Date"
values: ["18/8/2021","19/8/2021"] #generated automatically
size_hint: (.3,.1)
pos_hint: {"center_x":.5,"center_y":.5}
background_color: "#FFFFFF"
background_normal: ""
color: "#000000"
.py file:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen,ScreenManager
from datetime import datetime, timedelta
class Main(Screen):
def on_kv_post(self, base_widget):
self.ids["date"].values = [(datetime.now() + timedelta(days=i)).strftime('%d/%m/%Y') for i in range(10)]
class Manager(ScreenManager):
pass
class Test(App):
def build(self):
return Builder.load_file("test1.kv")
Test().run()
.kv file:
<Main>:
name: "main"
Spinner:
id: date
text: "Select Date"
size_hint: (.3,.1)
pos_hint: {"center_x":.5,"center_y":.5}
background_color: "#FFFFFF"
background_normal: ""
color: "#000000"
<Manager>:
Manager:
Main: