Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt4 如何将两个PyQt Qvariant值相乘并以双精度返回答案_Qt4_Pyqt4 - Fatal编程技术网

Qt4 如何将两个PyQt Qvariant值相乘并以双精度返回答案

Qt4 如何将两个PyQt Qvariant值相乘并以双精度返回答案,qt4,pyqt4,Qt4,Pyqt4,如何将两个PyQt Qvariant值相乘并将其作为双精度返回。我一直在尝试将两个pyqt Qvariant值转换为double,然后将它们相乘,最终得到0.0 float1, ok = QVariant.toDouble (val2)` float2, ok = QVariant.toDouble (val1)` val3 = float2*float1 return val3 `val3总是以0.0结尾 问题:我如何计算数值 谢谢没有代码很难说,但是状态 (浮动,布尔ok)QVarian

如何将两个PyQt Qvariant值相乘并将其作为双精度返回。我一直在尝试将两个pyqt Qvariant值转换为double,然后将它们相乘,最终得到0.0

float1, ok = QVariant.toDouble (val2)`
float2, ok = QVariant.toDouble (val1)`
val3 = float2*float1 
return val3
`val3总是以0.0结尾 问题:我如何计算数值


谢谢

没有代码很难说,但是状态

(浮动,布尔ok)QVariant.toDouble(自)

如果变量具有type()Double、QMetaType.float、Bool、ByteArray、Int、LongLong、String、UInt或ULongLong,则以浮点形式返回变量;否则返回0.0

您确定您的QVariant是这些类型之一吗

编辑

从您的代码中,我看到您正在调用
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

感谢您的回答,它返回float,但当我尝试将它与另一个返回的float相乘时,我得到0.0