我需要将空值设置为datetimeedit小部件(01.01.00 0:00
并不是我想要看到的)。使用dtwidget.setDateTime(QDateTime())
或dtwidget.clear()
不受影响。我怎么能这样做?
答案 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()方法。