在http://qt-project.org/doc/qt-5/qabstractspinbox.html#specialValueText-prop中,有一个如何限制QSpinBox的示例。它说:
zoomSpinBox->setSingleStep(10);
我的问题是我想拥有一个QDateTimeEdit,其中用户只能按25分钟(又称15分钟)指定日期时间。
像2014-12-12 12:30:00是有效且可能的,但2014-12-12 12:10:00则无效。
有什么简单的方法可以完成此操作,因为我找不到方法。
一个相当复杂的解决方案是验证用户的输入并将其四舍五入到下一个四分之一小时,但这是我要避免的事情,因为我发现该输入对于用户而言过于隐蔽/晦涩难懂。(就像当他进入12:05并更新为12:15时,他实际上并没有看到它...)
一种方法是覆盖
QDateTimeEdit::stepBy(int steps)
检查返回的当前部分currentSection()
是否是分钟部分,并以15分钟为步长递增/递减DateTime。当然,您仍然必须改写QDateTimeEdit::dateTimeFromText
输入的日期。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句