Python: Как определить, а затем также иметь возможность получать и устанавливать переменные текста в метках в цикле - PullRequest
0 голосов
/ 02 мая 2020

Я пытался найти решение для приведенной ниже проблемы, но ответы, которые я нашел, были мне неясны.

У меня есть все oop, из которых я строю свои виджеты Frame (каждый l * 1021) * итерация строит одну строку). В каждой строке я определяю метки.

Я хотел бы связать переменные с соответствующими им метками (а также позже хотел бы иметь возможность доступа к переменным метки для изменения их значения).

Таким образом, основная проблема c состоит в том, чтобы определить переменные простым способом, например. myvar_1, myvar_2, myvar_3.

Чтобы уточнить: я хочу установить переменную в al oop, как показано ниже:

  i=0
  for stockrow in sdb.db_get_account_stocks_data(self.account):
  **This is where I would like to define a variable**
    self.myvar_?  -> how to define that ??  = stringVar()
    lStock = ttk.Label(self,textvariable=self.myvar_?)
    i+=1 '''

Так что позже в другом методе в моем классе, где я вычислить новые значения для myvar_ *, я могу контролировать каждое из них, потому что я знаю строку, с которой связан каждый myvar_? и впоследствии назначить новое значение.

Я бы, например, смог сделать:

myvar_2 = 100
myvar_3 = 200

Заранее спасибо.

Асаф

1 Ответ

1 голос
/ 02 мая 2020

Вы должны рассмотреть что-то более похожее на это:

i = 0
myvars_dict = {}
for stockrow in sdb.db_get_account_stocks_data(self.account):
    myvars_dict['myvar_' + str(i)] = stringVar()
    lStock = ttk.Label(self,textvariable=myvars_dict['myvar_' + str(i)])
    i+=1

myvars_dict['myvar_2'] = 100
myvars_dict['myvar_3'] = 200
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...