QDateTimeEdit - 当焦点丢失时,小时/分钟部分重置为空

时间:2016-08-04 09:03:28

标签: qt qt4 qdatetime

我有一个QDateTimeField,其掩码设置为HH:mm考虑一个用户删除(例如)小时部分的场景:

enter image description here

如果用户清空小时部分并随后按回车键,小时部分将重置为00(这是预期的行为,始终)。

enter image description here

如果用户清空小时部分并且只是点击其他地方(当QDateTimeField失去它的焦点时),小时部分仍为空,这是我的问题。

enter image description here

任何人都可以用一种方法来解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

interpretText()函数可以解决问题。在访问其文本之前,您必须在interpretText()函数(在您的委托类中)中调用QDateTimeEditor的{​​{1}}。

根据Qt documentation

  

此函数解释旋转框的文本。如果值有   自上次解释后发生变化,它将发出信号。

示例:

setModelData

答案 1 :(得分:0)

我的建议是创建一个连接信号timeChanged的动作,并手动将时间设置为正确的格式。