如何在QDateTimeEdit中清除值?

时间:2018-01-07 16:17:58

标签: python qt datetime pyqt pyqt5

我需要将空值设置为datetimeedit小部件(01.01.00 0:00并不是我想要看到的)。使用dtwidget.setDateTime(QDateTime())dtwidget.clear()不受影响。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

简短回答不,你不能。

这是一个很长的答案。

您无法将日期设置为List<Integer> type = new ArrayList<>(); Map<Integer, Cell> map = list.stream() .map(x -> new Cell(x+1, x+2)) // Some kind of Manipulations .filter(cell->isNewCellValid(cell)) // filter some .collect(Collectors.toMap(....)); 。因为它没有任何意义。默认情况下,它显示一个unknwon日期时间为0000年第一个月的第一天的12:00 AM。

如果您真的非常想要显示&#34; 00.00.00 0:00和#34;,请执行以下操作:00.00.0000 00:00。这有什么问题?是的,它为您设置的任何日期时间显示dt.setDisplayFormat( "00.00.00 0:00" )。一旦用户开始与您的小部件交互,或者您想设置有效的日期时间,您就必须设置合理的格式。

所以你想从标准的Qt小部件中获得一些糟糕的行为,将它们子类化并实现你自己的代码。

答案 1 :(得分:0)

您可能会从QDateTimeEdit类获取默认值。

QDateTime dateTime=QDateTimeEdit().dateTime();

现在是01.01.2000 00:00。

接下来使用setDateTime()方法。