QtGui QTreeWidgetItem setData保存一个浮点数

时间:2012-08-17 01:12:32

标签: qt4 pyqt4 qtreewidget

我想知道我是否可以在QTreeWidgetItem中保留浮点值?

当我尝试使用setData(0,0,number)记录数字时,它会将其四舍五入到精度,这对我来说是不够的。我想保留确切的浮点值以进行进一步的计算。

2 个答案:

答案 0 :(得分:1)

你可以做两件事之一,QVariant可以存储任何类型:

v = QtCore.QVariant(aFloat)
aFloat = v.toDouble()[0]

您可以将QVariant存储为数据。

或者您可以在项目上设置任意属性:

item = QtGui.QTreeWidgetItem()
item.foo = 123.123

答案 1 :(得分:0)

使用QVariant和str可以做到这一点我认为

a = 0.12345678963582

item.setData(QtCore.Qt.UserRole,QtCore.QVariant(str(a)))

.....

val = float(item.data(QtCore.Qt.UserRole).toString()).strip())