from kivymd.app import MDApp
from kivy.lang import Builder
from plyer import filechooser
from kivy.core.window import Window
from iv import imv
from kivy.uix.screenmanager import ScreenManager, Screen
Window.size = (300, 500)
class ImageScreen(Screen):
pass
class FileChooser(MDApp):
def build(self):
Builder.load_string((imv))
sm = ScreenManager()
sm.add_widget(ImageScreen(name='image'))
return sm
def file_chooser(self):
filechooser.open_file(on_selection=self.selected)
def selected(self, selection):
if selection:
self.root.ids.img.source = selection[0]
FileChooser().run()
my kivymd file
imv = """
ScreenManager:
ImageScreen:
<ImageScreen>:
name: 'image'
MDFloatLayout:
Image:
id: img
MDRaisedButton:
text:"upload"
pos_hint: {'center_x': 0.5, 'center_y': 0.46}
on_release:
app.file_chooser()
MDLabel:
id: selected_path
text: ""
halign: "center"
"""
why it showing below error? AttributeError: 'super' object has no attribute 'getattr'
i want to use image viewer on different screen for creating an app so used this code as testing but it showing error.If i use it kivy code directly without ImageScreen class it works but i need it in ImageScreen class because i want to add more screen in the app. i don't know how to solve this ,.,