首页 > 解决方案 > 我正在尝试使用 .setId 在 QButtonGroup 中设置一个值,但出现类型错误

问题描述

嘿,我正在尝试为行星模拟器编写 GUI。我正在使用 PyQt5 并使用 QComboBox。我知道组合框的值使用负数,例如。第一个框为 -2,但当我尝试将其设置为 -2 时,我得到一个 TypeError。

这是按钮组颜色:

self.colors = QButtonGroup()
    self.blue = QCheckBox("Blue")
    self.red = QCheckBox("Red")
    self.yellow = QCheckBox("Yellow")
    self.green = QCheckBox("Green")
    self.orange = QCheckBox("Orange")
    self.purple = QCheckBox("Purple")
    self.pink = QCheckBox("Pink")
    self.white = QCheckBox("White")
    self.colors.addButton(self.blue)
    self.colors.addButton(self.red)
    self.colors.addButton(self.yellow)
    self.colors.addButton(self.green)
    self.colors.addButton(self.orange)
    self.colors.addButton(self.purple)
    self.colors.addButton(self.pink)
    self.colors.addButton(self.white)

这就是我尝试设置它的方式:

`if planet == "Planet 1":
    self.slider1.setValue(planets.p1.radius)
    self.colors.setId(planets.p1.colour)'

显然,值planets.p1.colour是一个整数(例如,如果我希望行星是蓝色的,那么值将是 -2,这将对应于行星类中的一种颜色。)

我得到的错误是:

TypeError: setId(self, QAbstractButton, int): argument 1 has unexpected type 'int'

我究竟做错了什么?

标签: pythonuser-interfacepyqt5typeerror

解决方案


推荐阅读