如何在此Qt / QML等离子体中以自定义格式返回日期?

时间:2015-08-31 10:08:40

标签: qt qml kde

KDE Plasma 5.4.0中的数字时钟不允许您指定自定义格式。我试图破解等离子体,这只是一个QML文件。但是,我没有成功。有一个条件分支,允许您从以下字符串之一中进行选择。

return Qt.SystemLocaleLongDate;
return Qt.ISODate;
return Qt.SystemLocaleShortDate;

我尝试将其修改为以下内容,但它无法正常工作。据推测,我的语法错误。

return QDate::currentDate().toString("dd.MM.yyyy");

如何修改plasmoid以显示自定义日期格式?

修改

我怀疑我可能会改错线。我尝试入侵的等离子体模型的源代码是here。解压缩文件后,具体在applets/digital-clock/package/。 (安装后,此目录将移至/usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/。)我尝试更改contents/ui/DigitalClock.qml的第43行。

我尝试将行更改为return "foo";,但这没有效果。同样,我不确定我的语法是否正确。

1 个答案:

答案 0 :(得分:2)

如评论中所述,返回此值的行不是对日期本身的引用,而只是指定格式。我不确定在这里破解代码的语法,但是,您可以稍后更改引用此属性的代码。

--- DigitalClock.qml.orig   2015-08-22 20:45:40.000000000 +1000
+++ DigitalClock.qml    2015-09-01 09:32:35.417197582 +1000
@@ -515,7 +515,7 @@

         if (main.showDate) {
             if (main.tooSmall) {
-                dateLabelLeft.text = Qt.formatDate(main.currentTime, main.dateFormat);
+                dateLabelLeft.text = Qt.formatDate(main.currentTime, "dd.MM.yyyy");
             } else {
                 dateLabel.text = Qt.formatDate(main.currentTime, main.dateFormat);
             }