0

我开始开发 KDE Plasma 5 plasmoids,我正在尝试制作一个 plasmoid,它每 10 秒从 API 获取数据并将其显示在标签中(来自org.kde.plasma.components)。

在浏览器环境中我们可以毫无问题地使用setTimeout,但是当这些功能不可用时,在这样的环境中该怎么办?

我试图while(true)在挂钩上创建一个循环Component.onCompleted,但正如预期的那样,Plasmoid 没有加载,我的 CPU 发疯了。

import QtQuick 2.0
import org.kde.plasma.components 2.0 as PlasmaComponents
import org.kde.plasma.extras 2.0 as PlasmaExtras

Row {
    id: 'container'

    Component.onCompleted: {
        let counter = 0;

        while(true) {
            textContainer.text = counter;
            counter++;
        }
    }

    PlasmaComponents.Label {
        id: 'textContainer'
        text: ''
        width: 384
    }
}
4

1 回答 1

0

它实际上比我想象的要简单得多,只是使用了Timer

Timer {
    interval: 10000
    repeat: true
    running: true
    onTriggered: {
        // The code here
    }
}
于 2019-08-09T00:39:29.113 回答