我怎样才能 return 这个 Qt/QML plasmoid 中自定义格式的日期?
How can I return the date in a custom format in this Qt/QML plasmoid?
KDE Plasma 5.4.0 中的数字时钟不允许您指定自定义格式。我试图破解 plasmoid,它只是一个 QML 文件。然而,我一直没有成功。有一个条件分支,它允许您从以下字符串之一 select。
return Qt.SystemLocaleLongDate;
return Qt.ISODate;
return Qt.SystemLocaleShortDate;
我试图将其修改为以下内容,但它不起作用。大概我只是语法错误。
return QDate::currentDate().toString("dd.MM.yyyy");
如何修改 plasmoid 以显示自定义日期格式?
编辑
我怀疑我可能换错了行。我试图破解的 plasmoid 的源代码是 here。文件解压后,具体在applets/digital-clock/package/
。 (安装后,此目录移动到 /usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/
。)我尝试更改 contents/ui/DigitalClock.qml
.
的第 43 行
我尝试将行更改为 return "foo";
,但这没有效果。同样,我不确定我的语法是否正确。
如评论中所述,返回此值的行不是对日期本身的引用,而只是指定格式。我不确定这里破解代码的语法,但是您可以稍后更改引用此 属性 的代码。
--- 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);
}
KDE Plasma 5.4.0 中的数字时钟不允许您指定自定义格式。我试图破解 plasmoid,它只是一个 QML 文件。然而,我一直没有成功。有一个条件分支,它允许您从以下字符串之一 select。
return Qt.SystemLocaleLongDate;
return Qt.ISODate;
return Qt.SystemLocaleShortDate;
我试图将其修改为以下内容,但它不起作用。大概我只是语法错误。
return QDate::currentDate().toString("dd.MM.yyyy");
如何修改 plasmoid 以显示自定义日期格式?
编辑
我怀疑我可能换错了行。我试图破解的 plasmoid 的源代码是 here。文件解压后,具体在applets/digital-clock/package/
。 (安装后,此目录移动到 /usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/
。)我尝试更改 contents/ui/DigitalClock.qml
.
我尝试将行更改为 return "foo";
,但这没有效果。同样,我不确定我的语法是否正确。
如评论中所述,返回此值的行不是对日期本身的引用,而只是指定格式。我不确定这里破解代码的语法,但是您可以稍后更改引用此 属性 的代码。
--- 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);
}