首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >迭代复选框- pyqt

迭代复选框- pyqt
EN

Stack Overflow用户
提问于 2017-03-08 15:05:23
回答 1查看 700关注 0票数 0

我有一个更改编号的文件(每次调用QGIS插件时):

代码语言:javascript
代码运行次数:0
运行
复制
0
8
7

我有9个复选框(self.t0,self.t1,...,self.t8)

在选中文件内容的情况下,选中相应的复选框:

我试过这个:

代码语言:javascript
代码运行次数:0
运行
复制
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)

我得到了错误:

代码语言:javascript
代码运行次数:0
运行
复制
AttributeError: 'mask_n_functions' object has no attribute 'checkboxname'

如何遍历复选框?

我必须使用分组框吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-08 15:08:49

您需要使用getattr函数。您使用的样式在PHP中有效,而不是在Python中有效。

所以,用下面这样的东西来代替问题中提到的最后一行。

代码语言:javascript
代码运行次数:0
运行
复制
checkbox = getattr(self, checkboxname)
checkbox.setChecked(True)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42664977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档