Python 在另一个方法中从循环调用变量
如何在“删除”选项卡中调用BookfoldersPython 在另一个方法中从循环调用变量,python,python-3.x,variables,methods,kivy,Python,Python 3.x,Variables,Methods,Kivy,如何在“删除”选项卡中调用Bookfolders class Main(MDApp): def build(self): return def remove_tab(self, *args): #if len(self.root.ids.tabs.get_tab_list()) >0: self.root.ids.tabs.remove_widget(Tab(title=(Bookfolders)) #get book
class Main(MDApp):
def build(self):
return
def remove_tab(self, *args):
#if len(self.root.ids.tabs.get_tab_list()) >0:
self.root.ids.tabs.remove_widget(Tab(title=(Bookfolders)) #get bookfolders
self.root.ids.tabs.clear_widgets(self.root.ids.tabs.get_tab_list())
def load_songs(self, storageLocation):
songs = []
# dictionary = {}
if Path('Books').is_dir():
for filename in storageLocation.glob('**/*.wav'):
songs.append(filename)
# Create dictionary for each subfolder(Chapter)
booksdir = [f for f in storageLocation.iterdir() if f.is_dir()]
# for value, Bookfolders in enumerate(booksdir):
for Bookfolders in booksdir:
# if Bookfolders not in dictionary:
# dictionary[Bookfolders] = []
# dictionary[Bookfolders].append('yahoooooo')
只需将
Bookfolders
设置为这样的实例字段即可
class Main(MDApp):
def加载_歌曲(自):
...
self.Bookfolders=。。。
然后你可以用任何方法访问这些数据。有效,多亏了一家工厂。但是在运行代码
self.root.ids.tabs.clear\u小部件(Tab(title=str(self.Bookfolders))
之后,我得到了一个错误TypeError:'Tab'对象不可订阅。forloop中也使用了self.Bookfolders。这显然与奇维有关。