2014-12-23 5 views
1

Как только моя программа запущена, я хочу, чтобы мой wxChoice был заполнен элементами из списка, который я обозначил. Я использую wxFormBuilder для обработки элементов GUI моей программы.Заполнение wxChoice в начале запуска программы | Python

Мой код:

def onDropDownSelection(self, parent): 

    #Open designated file 
    lines = tuple(open("/Users/it/Desktop/Classbook/masterClassList.txt", 'r')) 

    #Strips the first line of the file, splits the elements, assigns to "one" 
    lines[1].rstrip() 
    one = lines[1].split("|") 

    #My attempt to populate the wxChoice with my list "one" 
    self.firstChoice.SetItems(one) 

Это событие активируется, когда пользователь нажимает на раскрывающемся меню (wxChoice), и повторно заселяет каждый раз, когда он нажал на.

Есть ли способ, которым я могу заполнить свой wxChoice, только один раз, при первом запуске программы?

Я разместил этот код, где создается wxChoice. Тем не менее, я теперь испытываю «Unindent не соответствует внешнему уровню отступа» в строке 44. Как мне исправить это?

enter image description here

+1

Я знаком с PyQt, но почему вы заполняете раскрывающееся меню каждый раз, когда пользователь нажимает на него? Является ли содержание раскрывающегося меню динамически созданным или оно всегда одно и то же? Потому что, если содержимое раскрывающегося меню остается неизменным, вы можете заполнить wxChoice при его создании. – ProgrammingIsAwsome

+0

@ProgrammingIsAwsome мой код будет таким же, а я просто разместить его, где создается wxChoice? –

+0

Да, это было бы так. Создайте wxChoice, а затем залейте его. – ProgrammingIsAwsome

ответ

1

Проверить для отступа. Несколько раз, если вы копируете пасту, это может испортить вещи. Просто перепишите его или замените другим заявлением. См. Здесь: IndentationError: unindent does not match any outer indentation level

Проблема в том, что вы делаете свой отступ с помощью вкладок, а затем скопируйте код с примера на страницу примера, где отступ делается с пробелами. Затем у вас смешанные отступы. У меня это было много раз.