def on_open(self): if not os.path.exists('./assets/Latte-crop.jpg'): crop_image( (int(dp(280)), int(dp(222))), './assets/Latte.jpg', './assets/Latte-crop.jpg') self.ids.previous_image.reload()
def show_user_example_animation_card(self): """Create and open instance MDUserAnimationCard for the screen UserCard.""" from kivymd.uix.useranimationcard import MDUserAnimationCard def main_back_callback(): toast("Close card") if not self.user_card: image_for_user_card = ( f"{demos_assets_path}guitar-for-user-card1139397_1280-crop.png" ) if not os.path.exists(image_for_user_card): crop_image( (int(Window.width), int(dp(Window.height * 40 // 100))), f"{demos_assets_path}guitar-1139397_1280.png", image_for_user_card, ) self.user_card = MDUserAnimationCard( user_name="Lion Lion", path_to_avatar=image_for_user_card, callback=main_back_callback, ) self.user_card.box_content.add_widget(ContentForAnimCard()) self.user_card.open()
def crop_image_for_tile(self, instance, size, path_to_crop_image): if not os.path.exists(os.path.join(self.directory, path_to_crop_image)): size = (int(size[0]), int(size[1])) path_to_origin_image = path_to_crop_image.replace('_tile_crop', '') crop_image(size, path_to_origin_image, path_to_crop_image) instance.source = path_to_crop_image
def set_image(self, path_to_image, size, corner=False, ext="png"): prefix = "crop" path_to_crop = f"{path_to_image}-{prefix}.{ext}" if not os.path.exists(path_to_crop): crop_image(size, f"{path_to_image}.{ext}", path_to_crop, corner=corner) self.ids.about_us.ids.about_girl.source = path_to_crop self.ids.about_us.ids.about_girl.reload()
def crop_image_for_tile(self, instance, size, path_to_crop_image): """Crop images for Grid screen.""" if not os.path.exists(os.path.join(self.directory, path_to_crop_image)): size = (int(size[0]), int(size[1])) path_to_origin_image = path_to_crop_image.replace("_tile_crop", "") crop_image(size, path_to_origin_image, path_to_crop_image) instance.source = path_to_crop_image
def set_image(self, path_to_image, size, corner=False, ext='png'): path_to_crop = '{}-{}.{}'.format(path_to_image, 'crop', ext) if not os.path.exists(path_to_crop): crop_image( size, '{}.{}'.format(path_to_image, ext), path_to_crop, corner=corner) self.ids.about_us.ids.about_girl.source = path_to_crop self.ids.about_us.ids.about_girl.reload()
def __init__(self, **kwargs): super().__init__(**kwargs) self.menu_items = [ {'viewclass': 'MDMenuItem', 'text': 'Example item %d' % i, 'callback': self.callback_for_menu_items} for i in range(15) ] self.Window = Window self.manager = None self.md_app_bar = None self.instance_menu_demo_apps = None self.md_theme_picker = None self.long_dialog = None self.input_dialog = None self.alert_dialog = None self.ok_cancel_dialog = None self.long_dialog = None self.dialog = None self.manager_open = False self.cards_created = False self.user_card = None self.bs_menu_1 = None self.bs_menu_2 = None self.my_snackbar = None self._interval = 0 self.tick = 0 self.create_stack_floating_buttons = False self.previous_text = \ "Welcome to the application [b][color={COLOR}]Kitchen Sink" \ "[/color][/b].\nTo see [b][color={COLOR}]KivyMD[/color][/b] " \ "examples, open the menu and select from the list the desired " \ "example or".format(COLOR=get_hex_from_color( self.theme_cls.primary_color)) self.previous_text_end = \ "for show example apps\n\n" \ "Author - [b][color={COLOR}]Andrés Rodríguez[/color][/b]\n" \ "[u][b][color={COLOR}][email protected][/color]" \ "[/b][/u]\n\n" \ "Author this Fork - [b][color={COLOR}]Ivanov Yuri[/color][/b]\n" \ "[u][b][color={COLOR}][email protected][/color]" \ "[/b][u]".format(COLOR=get_hex_from_color( self.theme_cls.primary_color)) self.names_contacts = ( 'Alexandr Taylor', 'Yuri Ivanov', 'Robert Patric', 'Bob Marley', 'Magnus Carlsen', 'Jon Romero', 'Anna Bell', 'Maxim Kramerer', 'Sasha Gray', 'Vladimir Ivanenko') self.demo_apps_list = [ 'Shop Window', 'Coffee Menu', 'Fitness Club', 'Registration'] self.menu_for_demo_apps = [] Window.bind(on_keyboard=self.events) crop_image((Window.width, int(dp(Window.height * 35 // 100))), '{}/assets/guitar-1139397_1280.png'.format( self.directory), '{}/assets/guitar-1139397_1280_crop.png'.format( self.directory))
def on_open(self): if not os.path.exists( f"{os.environ['KITCHEN_SINK_ASSETS']}Latte-crop.jpg"): crop_image( (int(dp(280)), int(dp(222))), f"{os.environ['KITCHEN_SINK_ASSETS']}Latte.jpg", f"{os.environ['KITCHEN_SINK_ASSETS']}Latte-crop.jpg", ) self.ids.previous_image.reload()
def crop_image_for_tile(self, instance, size, path_to_crop_image): """Crop images for Grid screen.""" if not os.path.exists( os.path.join(os.environ["KITCHEN_SINK_ASSETS"], path_to_crop_image)): size = (int(size[0]), int(size[1])) path_to_origin_image = path_to_crop_image.replace("_tile_crop", "") crop_image(size, path_to_origin_image, path_to_crop_image) instance.source = path_to_crop_image
def set_image(self, path_to_image, size, corner=False, ext='png'): prefix = 'crop' path_to_crop = f'{path_to_image}-{prefix}.{ext}' if not os.path.exists(path_to_crop): crop_image(size, f'{path_to_image}.{ext}', path_to_crop, corner=corner) self.ids.about_us.ids.about_girl.source = path_to_crop self.ids.about_us.ids.about_girl.reload()
def crop_image_for_tile(self, instance, size, path_to_crop_image): """Crop images for Grid screen.""" if not os.path.exists( os.path.join(os.environ["ASSET"], path_to_crop_image)): size = (int(size[0]), int(size[1])) path_to_origin_image = path_to_crop_image.replace("_tile_crop", "") crop_image(size, path_to_origin_image, path_to_crop_image) instance.source = path_to_crop_image img = Image(source=instance.source) self.ids.tile_1.add_widget(img)
def __init__(self, **kwargs): self.title = "Kitchen Sink" self.theme_cls.primary_palette = "BlueGray" self.theme_cls.accent_palette = "Gray" super().__init__(**kwargs) self.menu_items = [ { "viewclass": "MDMenuItem", "text": "Example item %d" % i, "callback": self.callback_for_menu_items, } for i in range(15) ] self.hex_primary_color = get_hex_from_color( self.theme_cls.primary_color ) self.previous_text = ( f"Welcome to the application [b][color={self.hex_primary_color}]" f"Kitchen Sink[/color][/b].\nTo see [b]" f"[color={self.hex_primary_color}]KivyMD[/color][/b] " f"examples, open the menu and select from the list the desired " f"example or" ) self.previous_text_end = ( f"for show example apps\n\n" f"Author - [b][color={self.hex_primary_color}]" f"Andrés Rodríguez[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n\n" f"Authors this Fork:\n\n" f"[b][color={self.hex_primary_color}]" f"Ivanov Yuri[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n" f"[b][color={self.hex_primary_color}]Artem S. Bulgakov[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n" f"and contributors..." ) self.list_name_icons = list(md_icons.keys())[0:15] Window.bind(on_keyboard=self.events, on_resize=self.window_resize) crop_image( (Window.width, int(dp(Window.height * 35 // 100))), f"{os.environ['KITCHEN_SINK_ASSETS']}guitar-1139397_1280.png", f"{os.environ['KITCHEN_SINK_ASSETS']}guitar-1139397_1280_crop.png", )
def __init__(self, **kwargs): super().__init__(**kwargs) self.menu_items = [{ 'viewclass': 'MDMenuItem', 'text': 'Example item %d' % i, 'callback': self.callback_for_menu_items } for i in range(15)] self.Window = Window self.manager = None self.md_app_bar = None self.instance_menu_demo_apps = None self.md_theme_picker = None self.long_dialog = None self.input_dialog = None self.alert_dialog = None self.ok_cancel_dialog = None self.long_dialog = None self.dialog = None self.manager_open = False self.cards_created = False self.user_card = None self.bs_menu_1 = None self.bs_menu_2 = None self.my_snackbar = None self._interval = 0 self.tick = 0 self.create_stack_floating_buttons = False Window.bind(on_keyboard=self.events) crop_image( (Window.width, int(dp(Window.height * 35 // 100))), '{}/assets/guitar-1139397_1280.png'.format(self.directory), '{}/assets/guitar-1139397_1280_crop.png'.format(self.directory)) # DB Data ======================================================= self.db = None self.host = StringProperty(None) self.user = StringProperty(None) self.password = StringProperty(None) self.service = StringProperty(None) self.port = StringProperty(None) # TABS Data ===================================================== self.accidents = None self.hospitals = None self.ambulances = None self.doctors = None self.patients = None
def on_enter(self): if self.has_already_opened: return else: self.has_already_opened = True content_for_panel = MoreInformation() md_expansion_panel = MDExpansionPanel( content=content_for_panel, icon=f"{PATH_TO_IMAGES}/information.png", panel_cls=MDExpansionPanelOneLine(text="More information"), ) self.ids.expansion_panel_box.add_widget(md_expansion_panel) path = f"{PATH_TO_IMAGES}/previous_crop.jpg" if not os.path.exists(path): crop_image( (Window.width, int(dp(Window.height * 35 // 100))), f"{PATH_TO_IMAGES}/previous.jpg", path, ) Clock.schedule_once(lambda x: self.set_path_to_image_product(path), 0.2)
def show_manager_swiper(self): from kivymd.uix.managerswiper import MDSwiperPagination if not self.manager_swiper: path_to_crop_image = ( f"{self.directory}/assets/guitar-1139397_1280_swiper_crop.png") if not os.path.exists(path_to_crop_image): crop_image( (int(Window.width - dp(10)), int(dp(250))), f"{self.directory}/assets/guitar-1139397_1280.png", path_to_crop_image, ) Builder.load_string(manager_swiper) self.manager_swiper = Factory.MySwiperManager() self.main_widget.ids.scr_mngr.add_widget(self.manager_swiper) paginator = MDSwiperPagination() paginator.screens = ( self.manager_swiper.ids.swiper_manager.screen_names) paginator.manager = self.manager_swiper.ids.swiper_manager self.manager_swiper.ids.swiper_manager.paginator = paginator self.manager_swiper.ids.box.add_widget(paginator) self.main_widget.ids.scr_mngr.current = "manager swiper"
def on_enter(self): if self.has_already_opened: return else: self.has_already_opened = True content_for_panel = MoreInformation() md_expansion_panel = MDExpansionPanel( content=content_for_panel, icon="data/images/information.png", title="More information", ) md_expansion_panel.bind(on_open=self.on_panel_open) md_expansion_panel.bind(on_close=self.on_panel_close) self.ids.expansion_panel_box.add_widget(md_expansion_panel) path = "data/images/previous_crop.jpg" if not os.path.exists(path): crop_image( (Window.width, int(dp(Window.height * 35 // 100))), f"data/images/previous.jpg", path, ) Clock.schedule_once(lambda x: self.set_path_toImage_product(path), 0.2)
from kivy.properties import StringProperty from kivy.animation import Animation from kivy.core.window import Window from kivy.uix.screenmanager import Screen from kivymd.utils.cropimage import crop_image from kivymd.behaviors.ripplebehavior import CircularRippleBehavior from kivymd import demos_assets_path from .basedialog import BaseDialogForDemo if not os.path.exists(f"{demos_assets_path}coffee_crop.jpg"): crop_image( (Window.width, Window.height), f"{demos_assets_path}coffee.jpg", f"{demos_assets_path}coffee_crop.jpg", ) screen_coffee_menu = """ #:set coffee_color [.33725490196078434, .16862745098039217, .0392156862745098, .7] #:set item_color [.3333333333333333, .1411764705882353, .06666666666666667, 1] <PreviousDialogCoffee> size_hint: None, None size: dp(280), dp(420) BoxLayout: spacing: dp(10) orientation: 'vertical'
import os from kivy.app import App from kivy.core.window import Window from kivy.metrics import dp from kivy.uix.behaviors import ButtonBehavior from kivy.uix.screenmanager import Screen from kivy.uix.image import Image from kivymd.ripplebehavior import CircularRippleBehavior from kivymd.utils.cropimage import crop_image if not os.path.exists("./assets/market-crop.jpg"): crop_image( (Window.width, Window.height), "./assets/market.jpg", "./assets/market-crop.jpg", ) registration_form_one = """ #:import images_path kivymd.images_path #:import MDFillRoundFlatButton kivymd.button.MDFillRoundFlatButton #:import MDLabel kivymd.label.MDLabel #:import MDTextFieldRound kivymd.textfields.MDTextFieldRound <ButtonRound@ButtonRoundForForm> size_hint: None, None size: dp(50), dp(50)
from kivy.metrics import dp from kivy.uix.screenmanager import Screen from kivymd import demos_assets_path from kivymd.utils.cropimage import crop_image, crop_round_image if not os.path.exists(f"{demos_assets_path}sasha-round.png"): crop_round_image( (int(dp(Window.width * 30 / 100)), int(dp(Window.width * 30 / 100))), f"{demos_assets_path}sasha-grey.jpg", f"{demos_assets_path}sasha-round.png", ) if not os.path.exists(f"{demos_assets_path}account-background-crop.png"): crop_image( (Window.width, Window.height), f"{demos_assets_path}account-background.jpeg", f"{demos_assets_path}account-background-crop.png", ) screen_account_page = """ #:import Window kivy.core.window.Window <LabelAccountPage@Label> size_hint: None, None size: self.texture_size pos_hint: {'center_x': .5} <BoxMinimumHeight@BoxLayout> size_hint_y: None
from kivy.metrics import dp from kivy.uix.behaviors import ButtonBehavior from kivy.uix.boxlayout import BoxLayout from kivy.properties import StringProperty from kivy.animation import Animation from kivy.core.window import Window from kivy.uix.screenmanager import Screen from kivymd.utils.cropimage import crop_image from kivymd.ripplebehavior import CircularRippleBehavior from .basedialog import BaseDialogForDemo if not os.path.exists("./assets/coffee_crop.jpg"): crop_image((Window.width, Window.height), "./assets/coffee.jpg", "./assets/coffee_crop.jpg") screen_coffee_menu = """ #:import MDSeparator kivymd.cards.MDSeparator #:import MDLabel kivymd.label.MDLabel #:import MDCard kivymd.cards.MDCard #:import MDFlatButton kivymd.button.MDFlatButton #:set coffee_color [.33725490196078434, .16862745098039217, .0392156862745098, .7] #:set item_color [.3333333333333333, .1411764705882353, .06666666666666667, 1] <PreviousDialogCoffee> size_hint: None, None size: dp(280), dp(420)
""" import os from kivy.app import App from kivy.core.window import Window from kivy.metrics import dp from kivy.uix.behaviors import ButtonBehavior from kivy.uix.screenmanager import Screen from kivy.uix.image import Image from kivymd.ripplebehavior import CircularRippleBehavior from kivymd.utils.cropimage import crop_image if not os.path.exists('./assets/market-crop.jpg'): crop_image((Window.width, Window.height), './assets/market.jpg', './assets/market-crop.jpg') registration_form_one = ''' #:import images_path kivymd.images_path #:import MDFillRoundFlatButton kivymd.button.MDFillRoundFlatButton #:import MDLabel kivymd.label.MDLabel #:import MDTextFieldRound kivymd.textfields.MDTextFieldRound <ButtonRound@ButtonRoundForForm> size_hint: None, None size: dp(50), dp(50) <CircleWidget@Widget> size_hint: None, None
""" import os from kivy.app import App from kivy.core.window import Window from kivy.metrics import dp from kivy.uix.screenmanager import Screen from kivymd.utils.cropimage import crop_image from kivymd import demos_assets_path if not os.path.exists(f"{demos_assets_path}market-crop.jpg"): crop_image( (Window.width, Window.height), f"{demos_assets_path}market.jpg", f"{demos_assets_path}market-crop.jpg", ) registration_form_one = """ #:import images_path kivymd.images_path <ButtonRound@MDCustomRoundIconButton> size_hint: None, None size: dp(50), dp(50) <CircleWidget@Widget> size_hint: None, None size: dp(20), dp(20)
""" import os from kivy.app import App from kivy.core.window import Window from kivy.metrics import dp from kivy.uix.screenmanager import Screen from kivymd.utils.cropimage import crop_image if not os.path.exists(f"{os.environ['KITCHEN_SINK_ASSETS']}market-crop.jpg"): crop_image( (Window.width, Window.height), f"{os.environ['KITCHEN_SINK_ASSETS']}market.jpg", f"{os.environ['KITCHEN_SINK_ASSETS']}market-crop.jpg", ) registration_form_one = """ #:import images_path kivymd.images_path #:import environ os.environ <ButtonRound@MDCustomRoundIconButton> size_hint: None, None size: dp(50), dp(50) <CircleWidget@Widget> size_hint: None, None
from kivy.app import App from kivy.clock import Clock from kivy.metrics import dp from kivy.animation import Animation from kivy.core.window import Window from kivy.uix.screenmanager import Screen from kivymd.utils.cropimage import crop_image from kivymd import demos_assets_path if not os.path.exists(f"{demos_assets_path}crossfit-crop.png"): crop_image( (Window.width, Window.height), f"{demos_assets_path}crossfit.png", f"{demos_assets_path}crossfit-crop.png", ) screen_fitness_club = """ <InputField@MDTextFieldRect>: size_hint: None, None multiline: False size_hint: None, None size: app.Window.width - dp(50), dp(30) pos_hint: {'center_y': .5, 'center_x': .5} cursor_color: 0, 0, 0, 1 <ItemFitnessClubMenu@OneLineAvatarListItem> callback: None
from kivy.core.window import Window from kivy.metrics import dp from kivy.uix.screenmanager import Screen from kivymd.utils.cropimage import crop_image, crop_round_image if not os.path.exists("./assets/sasha-round.png"): crop_round_image( (int(dp(Window.width * 30 / 100)), int(dp(Window.width * 30 / 100))), "./assets/sasha-grey.jpg", "./assets/sasha-round.png", ) if not os.path.exists("./assets/account-background-crop.png"): crop_image( (Window.width, Window.height), "./assets/account-background.jpeg", "./assets/account-background-crop.png", ) screen_account_page = """ #:import Window kivy.core.window.Window #:import MDLabel kivymd.label.MDLabel #:import MDFillRoundFlatButton kivymd.button.MDFillRoundFlatButton #:import MDCustomRoundIconButton kivymd.button.MDCustomRoundIconButton <LabelAccountPage@Label> size_hint: None, None size: self.texture_size pos_hint: {'center_x': .5}
from kivy.animation import Animation from kivy.clock import Clock from kivy.core.window import Window from kivy.metrics import dp from kivy.uix.screenmanager import Screen from kivymd.utils.cropimage import crop_image, crop_round_image if not os.path.exists('./assets/sasha-round.png'): crop_round_image( (int(dp(Window.width * 30 / 100)), int(dp(Window.width * 30 / 100))), './assets/sasha-grey.jpg', './assets/sasha-round.png') if not os.path.exists('./assets/account-background-crop.png'): crop_image( (Window.width, Window.height), './assets/account-background.jpeg', './assets/account-background-crop.png') screen_account_page = ''' #:import Window kivy.core.window.Window #:import MDLabel kivymd.label.MDLabel #:import MDFillRoundFlatButton kivymd.button.MDFillRoundFlatButton #:import MDCustomRoundIconButton kivymd.button.MDCustomRoundIconButton <LabelAccountPage@Label> size_hint: None, None size: self.texture_size pos_hint: {'center_x': .5}
from kivy.clock import Clock from kivy.metrics import dp from kivy.animation import Animation from kivy.core.window import Window from kivy.uix.behaviors import ButtonBehavior from kivy.uix.screenmanager import Screen from kivy.uix.image import Image from kivymd.ripplebehavior import CircularRippleBehavior from kivymd.utils.cropimage import crop_image if not os.path.exists("./assets/crossfit-crop.png"): crop_image( (Window.width, Window.height), "./assets/crossfit.png", "./assets/crossfit-crop.png", ) screen_fitness_club = """ #:import MDBottomNavigation kivymd.bottomnavigation.MDBottomNavigation #:import MDTextFieldRect kivymd.textfields.MDTextFieldRect #:import MDLabel kivymd.label.MDLabel #:import MDIconButton kivymd.button.MDIconButton <InputField@MDTextFieldRect>: size_hint: None, None multiline: False size_hint: None, None size: app.Window.width - dp(50), dp(30)
def __init__(self, **kwargs): super().__init__(**kwargs) self.menu_items = [{ "viewclass": "MDMenuItem", "text": "Example item %d" % i, "callback": self.callback_for_menu_items, } for i in range(15)] self.Window = Window # Default class instances. self.manager = None self.md_app_bar = None self.instance_menu_demo_apps = None self.instance_menu_source_code = None self.md_theme_picker = None self.long_dialog = None self.input_dialog = None self.alert_dialog = None self.ok_cancel_dialog = None self.long_dialog = None self.dialog = None self.user_card = None self.bs_menu_1 = None self.bs_menu_2 = None self.popup_screen = None self.my_snackbar = None self.dialog_load_kv_files = None self.create_stack_floating_buttons = False self.manager_open = False self.cards_created = False self._interval = 0 self.tick = 0 self.x = 0 self.y = 25 self.file_source_code = "" self.hex_primary_color = get_hex_from_color( self.theme_cls.primary_color) self.previous_text = ( f"Welcome to the application [b][color={self.hex_primary_color}]" f"Kitchen Sink[/color][/b].\nTo see [b]" f"[color={self.hex_primary_color}]KivyMD[/color][/b] " f"examples, open the menu and select from the list the desired " f"example or") self.previous_text_end = ( f"for show example apps\n\n" f"Author - [b][color={self.hex_primary_color}]" f"Andrés Rodríguez[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n\n" f"Authors this Fork:\n\n" f"[b][color={self.hex_primary_color}]" f"Ivanov Yuri[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n" f"[b][color={self.hex_primary_color}]Artem S. Bulgakov[/color][/b]\n" f"[u][b][color={self.hex_primary_color}]" f"[email protected][/color][/b][/u]\n\n" f"and contributors...") self.names_contacts = ( "Alexandr Taylor", "Yuri Ivanov", "Robert Patric", "Bob Marley", "Magnus Carlsen", "Jon Romero", "Anna Bell", "Maxim Kramerer", "Sasha Gray", "Vladimir Ivanenko", ) self.demo_apps_list = [ "Shop Window", "Coffee Menu", "Fitness Club", "Registration", "Account Page", ] self.list_name_icons = list(md_icons.keys())[0:15] Window.bind(on_keyboard=self.events) crop_image( (Window.width, int(dp(Window.height * 35 // 100))), f"{demos_assets_path}guitar-1139397_1280.png", f"{demos_assets_path}guitar-1139397_1280_crop.png", )
from kivy.app import App from kivy.clock import Clock from kivy.metrics import dp from kivy.animation import Animation from kivy.core.window import Window from kivy.uix.behaviors import ButtonBehavior from kivy.uix.screenmanager import Screen from kivy.uix.image import Image from kivymd.ripplebehavior import CircularRippleBehavior from kivymd.utils.cropimage import crop_image if not os.path.exists('./assets/crossfit-crop.png'): crop_image((Window.width, Window.height), './assets/crossfit.png', './assets/crossfit-crop.png') screen_fitness_club = ''' #:import MDBottomNavigation kivymd.bottomnavigation.MDBottomNavigation #:import MDTextFieldRect kivymd.textfields.MDTextFieldRect #:import MDLabel kivymd.label.MDLabel #:import MDIconButton kivymd.button.MDIconButton <InputField@MDTextFieldRect>: size_hint: None, None multiline: False size_hint: None, None size: app.Window.width - dp(50), dp(30) pos_hint: {'center_y': .5, 'center_x': .5} cursor_color: 0, 0, 0, 1
def add_cards(self, instance_grid_card): """Adds MDCardPost objects to the screen Cards when the screen is open.""" from kivymd.uix.card import MDCardPost def callback(instance, value): if value is None: toast("Delete post %s" % str(instance)) elif isinstance(value, int): toast("Set like in %d stars" % value) elif isinstance(value, str): toast("Repost with %s " % value) elif isinstance(value, list): toast(value[1]) if not self.cards_created: self.cards_created = True menu_items = [{ "viewclass": "MDMenuItem", "text": "Example item %d" % i, "callback": self.callback_for_menu_items, } for i in range(2)] buttons = ["facebook", "vk", "twitter"] instance_grid_card.add_widget( MDCardPost(text_post="Card with text", swipe=True, callback=callback)) instance_grid_card.add_widget( MDCardPost( right_menu=menu_items, swipe=True, text_post="Card with a button to open the menu MDDropDown", callback=callback, )) instance_grid_card.add_widget( MDCardPost( likes_stars=True, callback=callback, swipe=True, text_post="Card with asterisks for voting.", )) image_for_card = ( f"{demos_assets_path}kitten-for_card-1049129_1280-crop.png") if not os.path.exists(image_for_card): crop_image( (int(Window.width), int(dp(200))), f"{demos_assets_path}kitten-1049129_1280.png", image_for_card, ) instance_grid_card.add_widget( MDCardPost( source=image_for_card, tile_text="Little Baby", tile_font_style="H5", text_post="This is my favorite cat. He's only six months " "old. He loves milk and steals sausages :) " "And he likes to play in the garden.", with_image=True, swipe=True, callback=callback, buttons=buttons, ))