wx.lib.masked.NumCtrl的替代方案

1 投票
1 回答
1513 浏览
提问于 2025-04-15 15:58

在我开发的一个wxPython应用程序中,我需要很多输入数字的地方(包括整数和小数),所以我尝试使用wx.lib.masked.NumCtrl这个控件,但我的用户现在告诉我,这个控件使用起来很不方便(我也同意他们的看法)。

我可以使用其他的控件实现吗?还是说我应该自己动手,从一个简单的TextCtrl开始制作?

(wxPython 2.8.9.1)

编辑
为了完整性,这里有一个“使用不便”的例子:
当使用一个设置了selectOnEntryfractionWidth > 0的NumCtrl时,当你切换到字段的小数部分时,它会被正确选中,但按数字键却没有反应,你必须先删除字段里的内容。

1 个回答

1

在常见的wxPython软件包中,有一个叫IntCtrl的控件,还有一些其他的图形界面控件,比如滑块(Slider)、旋转框(Spin)、浮点旋转框(FloatSpin)和旋钮控件(KnobCtrl)。

另外,还有一种叫做Enthought Traits的方法,它的图形界面部分似乎特别关注数字的输入和显示,比如对数滑块浮点数组编辑器等等。即使你不打算走这条路,看看他们的设计也可能会给你一些灵感。

另外,你不喜欢被遮罩的NumCtrl的原因并不太清楚,但其实自己写一个很简单,所以如果你有特别的需求,自己动手做可能是个不错的选择。

撰写回答