Динамически обновлять значения QML GUI - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть куча данных, которые должны постоянно отображаться на GUI. Я действительно могу добиться этого, установив таймер и назначив новые значения отображаемым значениям, но я не хочу делать это таким образом. Есть ли какое-нибудь решение или практический способ сделать это?

Ответы [ 3 ]

1 голос
/ 07 апреля 2020

Я думаю, у вас есть два варианта для достижения этой цели:

  1. Все ваши данные имеют Q_PROPERTY. Это означает создание функции get и сигнала
  2. Если вы хотите показать их в виде списка или в виде дерева, я предлагаю вам собрать все данные в QAbstractListModel. https://doc.qt.io/qt-5/qabstractlistmodel.html

Затем, реализовав функцию data, index, e cc., У вас будет все, что уже сделано для пользовательского интерфейса

1 голос
/ 06 апреля 2020

Вы пробовали использовать Q_Property? Сигнал уведомления может работать в вашей ситуации. Вы можете найти документацию от здесь .

0 голосов
/ 10 апреля 2020

Сначала я определил свойство и добавил к сигналам моего класса уведомитель с именем payloadChanged .


    Q_PROPERTY(QList<qreal> PayloadList READ getPayloadList NOTIFY payloadChanged)

Во-вторых,

    qmlRegisterType<<YOUR_CLASS_NAME>>("sample1.sample2", 1, 0, "<QML_ITEM_NAME>");

Наконец

QML_ITEM_NAME{
    console.log("PROPERTY")
}


Когда я применил эти шаги, мои данные автоматически обновляются без каких-либо таймеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...