如何将两个PyQt Qvariant值相乘并将它们返回为Double。我试图将两个pyqt Qvariant值转换为double然后乘以它我总是以0.0结尾
float1, ok = QVariant.toDouble (val2)`
float2, ok = QVariant.toDouble (val1)`
val3 = float2*float1
return val3
`val3总是0.0结束 问我如何数值
感谢
答案 0 :(得分:1)
没有代码,很难说,但是QVariant docs州
(float,bool ok)QVariant.toDouble(self)
如果变量具有type()Double,QMetaType.Float,Bool,ByteArray,Int,LongLong,String,UInt或ULongLong,则将变量作为float返回;否则返回0.0。
你确定你的QVariants是其中一种吗?
修改强>
从您的代码中我看到您正在呼叫QVariant.toDouble()
。尝试在QVariant实例上调用.toDouble()
。例如,此代码适用于我。
>>> val1=QtCore.QVariant(12.0)
>>> val2=QtCore.QVariant(11.0)
>>> float1, ok = val1.toDouble()
>>> float2, ok = val2.toDouble()
>>> val3=float2*float1
>>> print val3
132.0