The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Получить данные из QHeightMapSurfaceDataProxy"
Отправлено v.karak, 05-Фев-18 11:42 
>[оверквотинг удален]
>     layerOneSeries->setItemLabelFormat(QStringLiteral("(@xLabel, @zLabel): @yLabel"));
>     layerOneProxy->setValueRanges(34.0f, 40.0f, 18.0f, 24.0f);
>     layerOneSeries->setDrawMode(QSurface3DSeries::DrawSurface);
>     layerOneSeries->setFlatShadingEnabled(false);
>     surface->addSeries(layerOneSeries);
> Массив строк, который заполняю сам - всегда возвращается, но вот тот, что
> создается через
> QHeightMapSurfaceDataProxy никогда :( В Qt только начинаю. Ссылка на пример:
> https://doc.qt.io/qt-5.10/qtdatavisualization-surface-exampl...
> Буду благодарен, за любую помощь!

Кажется понял в чем проблема.
Я пытался получить значения сразу после создания объекта QHeightMapSurfaceDataProxy *layerOneProxy, а он заполняется позже, после того как сработает таймер вот здесь:


348    QHeightMapSurfaceDataProxyPrivate::QHeightMapSurfaceDataProxyPrivate(QHeightMapSurfaceDataProxy *q)
349        : QSurfaceDataProxyPrivate(q),
350          m_minXValue(defaultMinValue),
351          m_maxXValue(defaultMaxValue),
352          m_minZValue(defaultMinValue),
353          m_maxZValue(defaultMaxValue)
354    {
355        m_resolveTimer.setSingleShot(true);
356        QObject::connect(&m_resolveTimer, &QTimer::timeout,
357                         this, &QHeightMapSurfaceDataProxyPrivate::handlePendingResolve);
358    }


Поэтому, я создал обработчик на сигнал arrayReset() и уже в нем данные в массиве готовы к использованию


connect(layerNewProxy, SIGNAL(arrayReset()), this, SLOT(arrayMapDataReset()));

void Foo::arrayMapDataReset()
{
    const QSurfaceDataArray *array = layerNewProxy->array();
    if(array) {
        statusBar()->showMessage(QString::number(layerNewProxy->columnCount())+" x "+
                                 QString::number(layerNewProxy->rowCount()));
    }
}

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру