我有一个更改号码的文件(每次调用QGIS插件时):
0
8
7
我有9个复选框(self.t0,self.t1,...,self.t8)
使用文件的内容我想设置选中的框:
我试过了:
class mask_n_functions(QDialog, Ui_Dialog):
def __init__(self, parent):
QDialog.__init__(self, parent)
self.setupUi(self)
self.set_prefs.clicked.connect(self.preferences)
self.cancel.clicked.connect(self.closePlugin)
with open(r'C:\\path\\checklist.txt', "r") as f:
for line in f:
checkboxname = "t" + str(line)
self.checkboxname.setChecked(True)
我收到错误:
AttributeError: 'mask_n_functions' object has no attribute 'checkboxname'
如何迭代复选框?
我是否必须使用群组框?
答案 0 :(得分:1)
您需要使用getattr
功能。您使用的样式适用于PHP,而不适用于Python。
因此,请使用下面的内容代替问题中提到的最后一行。
checkbox = getattr(self, checkboxname)
checkbox.setChecked(True)