假设我有一整组的旋转框、组合框和诸如此类的东西,我可以在其中为应用程序设置所有类型的变量;如果您愿意,还可以是一个控制面板。其中之一是QDoubleSpinBox *dec,通常,我使用它是应该的,带有小数,但是有一个特定的组合框,它根据所选的条目动态地启用/禁用一些微调框和组合框。其中一项更改是使用dec微调框,仅在此时,需要将其限制为整数值和增量。
例如,如果dec通常的范围是0.00..99.99,增量是0.1,当我在控制组合框中选择某个条目时,我需要dec在相同的范围内(99就好了),但只发出整数,并且只能用整数步长进行更改(例如,范围是0..99,步长为1)。
虽然我发现(Qt的初学者)我可以简单地强制组合框中的特定条目使用setDecimals()和setSingleStep(),但事实证明我必须对所有条目使用它们,以便能够恢复更改,这可能会添加到代码中。有没有更好的解决方案?
发布于 2016-12-16 15:52:18
如果你的spin box突然不再支持doubles,我会说它在概念上是不同的,应该被一个普通的整数QSpinBox所取代。
您可以让两个旋转框共存,然后在需要时使用hide()和show()。这也避免了int和double之间的连续投射。
https://stackoverflow.com/questions/41165869
复制相似问题