코드에 대한 기본적인 도움이 필요합니다. 변수 program_controls
을 사용할 때마다 변수 self.add_programs
에 대한 값으로 새 목록을 만들려고합니다. 배열에 저장할 단추 목록.파이썬 오류 : IndexError : 목록 색인 범위 외
나는이 때 :
self.add_programs = list()
self.rows += 1
program_controls = xbmcgui.ControlButton(
int(position_start),
int(position_top),
int(program_width),
int(program_height),
program_title,
focusTexture = self.path + self.button_focus,
noFocusTexture = self.path + self.button_nofocus,
textColor ='0xFFFFFFFF',
focusedColor ='0xFF000000'
)
self.add_programs[self.rows].append(ProgramControls(program_controls, program))
를 그것은 나에게 오류를 제공합니다 : IndexError : 목록 지수 오류가이 라인에서 점프
범위를 벗어 : 여기
self.add_programs[self.rows].append(ProgramControls(program_controls, program))
입니다 코드 :
class ProgramControls(object):
def __init__(self, control, program):
self.control = control
self.program = program
class MyClass(xbmcgui.WindowXML):
def __init__(self):
self.add_programs = list()
self.rows = 0
def GoDown(self):
self.add_programs = list()
self.rows += 1
program_controls = xbmcgui.ControlButton(
int(position_start),
int(position_top),
int(program_width),
int(program_height),
program_title,
focusTexture = self.path + self.button_focus,
noFocusTexture = self.path + self.button_nofocus,
textColor ='0xFFFFFFFF',
focusedColor ='0xFF000000'
)
self.add_programs[self.rows].append(ProgramControls(program_controls, program))
prog_button = [elem.control for elem in self.add_programs]
if self.programs == False:
self.addControls(prog_button)
버튼 목록을 추가 할 때마다 배열에 버튼을 저장할 수있는 방법을 알려주십시오.
가능한 경우 알려 주시기 바랍니다.
내가하려는 일을 완전히 이해하지 못했지만 목록을 전혀 색인하지 않은 경우 어떻게해야합니까? 'self.add_programs.append (ProgramControls (program_controls, program))처럼 ' – Kevin
'self.add_programs'는'self.rows'보다 짧습니다; 예를 들어, 다음을 고려하십시오 :'arr = [1]; arr [2]'... 'arr [2]'가 없기 때문에이 오류가 발생합니다 ....'self.add_programs [self.rows - 1]'를 사용하고 싶지만, 코드를 너무 조심스럽게 검사하십시오 ... – Carpetsmoker
'self.add_programs.append (...)'를 시도하십시오. – Javier