首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不动点填充QDoubleSpinBox

不动点填充QDoubleSpinBox
EN

Stack Overflow用户
提问于 2017-06-29 06:08:48
回答 1查看 182关注 0票数 1

我在不动点16.16中有一些数据,我想用QDoubleSpinbox来修改。

问题是,每当我把我的不动点转换成双倍时,就会出现不可避免的舍入问题。double = fixed / (double)65536

例如,0.2,在不动点,这是0x00003333,但是当我把它放到QDoubleSpinBox中时,它会显示0.19999694824188

但只要我一接触到纺丝箱,它就会转到0.2

如何在QDoubleSpinBox上进行setValue循环?

QDoubleSpinbox的行为与设计一致,但我的QAbstractTableModel却并非如此。

当旋量箱的控件不可见时,表隐式地使用QString来显示QVariant中给定的值。

在qstring中使用固定精度的paint()函数实现setnum()之后,它工作得很好!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-29 07:58:13

一个快速测试表明,这在这里是可行的:

代码语言:javascript
复制
double valueToSet = 0x00003333 / (double)65536;
ui.doubleSpinBox->setValue(valueToSet);

UI显示0.20。当调用setValue()时,spinbox会执行循环操作。你可以自己检查源代码。我建议使用调试器进入这个函数,看看对您有什么不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44817510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档