如何将两个PyQt Qvariant值相乘并将答案返回为double

时间:2011-06-03 11:53:05

标签: qt4 pyqt4

如何将两个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结束  问我如何数值

感谢

1 个答案:

答案 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