+-
我正在构建一个Windows程序,该程序应具有64位数值的控件。这些控件应可切换为已签名或未签名。
我发现了两个控件:“纺纱箱”(int32)和“双纺纱箱”(double)加倍,我可以覆盖范围,但它无法处理精度。
是否可以更改这些控件的数据类型?
是否可以创建一个自己的控件来处理有符号和无符号的64位值?是否可以创建一个128位Spin框?
我现在唯一能解决的问题是使用字符串控件并手动将其转换为INT64或UINT64,但对此解决方案我不太满意
还有其他想法吗?
我正在使用C ++的QT 4.7.4和VS2010thx
7
投票
投票
您可以派生QAbstractSpinBox
并至少重新实现虚拟功能stepBy
,stepEnabled
以及可能的validate()
和fixup()
用于输入验证。
4
投票
投票
我不使用修正功能。参见我的ustom QSpinBox的代码。从QAbstractSpinBox派生的类QLongLongSpinBox]
1
投票
投票
要在Qt Creator中使用您的自定义类(窗口小部件):
0
投票
投票
只是为了完整起见:每次遇到这样的问题时,请记住(万一其他方法都失败了),您可以下载Qt源代码,并在一个类中创建自己的QSpinBox64
或QSpinBox128
类。只需几分钟即可修改所需的零件。