在函数内部创建动态变量名(带有self)

时间:2018-06-20 02:32:08

标签: python opencv pyqt

好的。因此,我搜索了好一阵子,找不到另一个描述我问题的问题。

当我想在Python中定义变量时,简单:

var = value

当我进入某个班级并想为整个班级定义它时,简单:

self.var = value

在我的特殊情况下,我有一个包含一些字符串的列表。 我想为每个字符串创建一个变量,但是由于我在GUI函数中,所以我想用self来实现上述方法。

我现在的问题是,当我尝试将每个字符串放入self.string中时:

list = [string, string1, string2]

for string in list:
    self.string = QPushButton()

Python不会在string中编译self.string,而是从字面上接受。 因此,仅创建了三个相同的变量,都称为self.string,并分配了方法QPushButton

我该怎么做才能得到三个对象:

self.string = QPushButton()
self.string1 = QPushButton()
self.string2 = QPushButton()

要创建一些上下文:我想动态创建这些按钮,每次将新项目添加到列表时,都会创建一个新按钮。列表项是OpenCV视频监视系统的摄像机路径。

当然,还会使用其他参数(setGeometry,setText等),出于可读性考虑,我只是将它们排除在外。

我的想法:应该有可能将索引传递到for循环中,然后将其添加到变量名:self.string + index = ...或类似.format()

谢谢

0 个答案:

没有答案