迭代复选框 - pyqt

时间:2017-03-08 07:05:23

标签: python pyqt qgis

我有一个更改号码的文件(每次调用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'

如何迭代复选框?

我是否必须使用群组框?

1 个答案:

答案 0 :(得分:1)

您需要使用getattr功能。您使用的样式适用于PHP,而不适用于Python。

因此,请使用下面的内容代替问题中提到的最后一行。

checkbox = getattr(self, checkboxname)
checkbox.setChecked(True)