【问题标题】:Python 'called with the wrong argument type' errorPython“使用错误的参数类型调用”错误
【发布时间】:2018-02-28 00:44:19
【问题描述】:

我明白为什么会出现这个错误,它正在寻找我的对象作为参数,并接收一个字符串值。但是我很困惑解决方案是什么?

下面的代码 sn -p 只是试图运行这个命令;

self.buttonGroup.addButton(self.ui.m001)

x 次:

num = 0
range_ = 10
prefix = "m"

for i in range (range_):
    if num <(range_-1):
        numString = "00"+str(num)
        if (num >9):
            numString = "0"+str(num)

        button = "self.ui."+prefix+numString

        self.buttonGroup.addButton(button)
        num +=1

print self.buttonGroup

【问题讨论】:

  • 将所有内容保存在字典或列表中,而不是作为单个变量。

标签: python python-2.7 qt pyside pyside2


【解决方案1】:

问题是按钮是一个字符串,一个可能的解决方案是使用getattr

变化:

button = "self.ui."+prefix+numString

button = getattr(self.ui, prefix+numString)

【讨论】:

  • 非常感谢。在看到您的示例之前,我一直将 getattr 视为一种解决方案,但无法将其组合在一起。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-15
  • 2011-02-07
  • 1970-01-01
相关资源
最近更新 更多