Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何在循环的标签中定义并能够获取和设置textvariable_Python_Tkinter - Fatal编程技术网

Python:如何在循环的标签中定义并能够获取和设置textvariable

Python:如何在循环的标签中定义并能够获取和设置textvariable,python,tkinter,Python,Tkinter,我试图找到以下问题的解决方案,但我找不到明确的答案 我有一个循环,从中构建框架小部件(每个循环迭代构建一行)。我在每一行定义标签 我希望将变量与其对应的标签相关联(并且稍后希望能够访问标签变量以更改其值) 所以基本的问题是用一种简单的方式定义变量,比如myvar_1,myvar_2,myvar_3 澄清一下:我想在循环中设置一个变量,如下所示: i=0 for stockrow in sdb.db_get_account_stocks_data(self.account): **Th

我试图找到以下问题的解决方案,但我找不到明确的答案

我有一个循环,从中构建框架小部件(每个循环迭代构建一行)。我在每一行定义标签

我希望将变量与其对应的标签相关联(并且稍后希望能够访问标签变量以更改其值)

所以基本的问题是用一种简单的方式定义变量,比如myvar_1,myvar_2,myvar_3

澄清一下:我想在循环中设置一个变量,如下所示:

  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
提前谢谢


你应该考虑更多这样的事情:

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

为什么不使用字典或列表?请仔细阅读为什么只能通过字典来实现它?你可以用另一种方式来实现,但它会更长、更难看,而且计算成本更高。