好的。因此,我搜索了好一阵子,找不到另一个描述我问题的问题。
当我想在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()
谢谢