给定:
print("The detail is", self.model.sibling(index.row(), 1, index).data())
detail = self.model.sibling(index.row(), 1, index).data()
print(" and detail is", detail, bool(detail == 1))
solid = bool(detail == 1)
print("Detail:", detail, "Solid", solid, "Detail", self.model.sibling(index.row(), 1, index).data())
我能得到什么:
The detail is 1
and detail is 1 False
Detail: 1 Solid False Detail 1
所以 detail
是 1
但它不等于 1
。我错过了什么?
答案 0 :(得分:0)
可能你的变量 detail 实际上是一个字符串,所以有问题的代码实际上会转换为:
"1" == 1
通过编写以下内容尝试将其转换为整数:
solid = int(detail) == 1
答案 1 :(得分:-1)
谢谢莉娜,你说得对。它是 PyQt 模型,在诊断问题时,我被 print() 方法的一个弱点发现了......
>>> a = '1'
>>> a
'1'
>>> print(a)
1
>>>
看马,输出字符串上没有引号!铸造很好地修复了它。
这算作“最小的可重复示例”吗?或者我是否应该为 Leena 直接看到的一个简单问题发布几百行代码和我的数据库?
对于论坛警察,我知道我应该将其作为评论发布,但我无法使代码速记起作用。