def open_camera_list(self, inst): menu = DropDown(auto_width=False, width=200) try: from pygrabber.dshow_graph import FilterGraph device_list = FilterGraph().get_input_devices() except: device_list = [] for i, each in enumerate(device_list): btn = DropItem(text=each, icon="webcam", font_size=15) btn.camera_indx = i btn.bind(on_release=lambda btn: self.set_item(menu, btn)) menu.add_widget(btn) menu.spacing = 0 menu.add_widget(MDSeparator()) menu.open(inst)