ビデオが実行されているときにウィジェットを無効にしたいので、layoutGridを定義し、ファイル名でボタンに配置したクラスScreenVideoを作成しました。グローバル名 'layoutGrid'が定義されていません
私はon_pressコールバックを呼び出すと、エラーが発生します:グローバル名 'layoutGrid'が定義されていません。
class ScreenVideo(Screen):
def __init__ (self,**kwargs):
super (ScreenVideo, self).__init__(**kwargs)
root = FloatLayout(size=(Window.width, Window.height))
layoutGrid = GridLayout(cols=1, row_force_default=True, row_default_height=70, size_hint_y=None)
layoutGrid .bind(minimum_height=layoutGrig.setter('height')) #for scroll
....
for filename in os.listdir(folder location):
filename2 = filename.replace(".mp4", "")
btn = Button(text=str(filename2), font_size='25sp', italic = True)
btn.bind(on_release=self.callback) #on_press
layoutGrid.add_widget(btn)
def callback(self, instance):
...
layoutGrid.disabled = True
おかげ
self.layoutGrid.disabled = Trueの はAttributeError: 'ScreenVideo' オブジェクトは、私がlayoutGridを作った 'layoutGrid' – kate