QT5. Области видимости

Возник вопрос по видимости объекта. Хочу совместить QTChart и timer.

.h:

#ifndef THEMEWIDGET_H
#define THEMEWIDGET_H

#include <QtWidgets/QWidget>
#include <QtCharts/QChartGlobal>

QT_BEGIN_NAMESPACE
class Ui_ThemeWidgetForm;
QT_END_NAMESPACE

QT_CHARTS_BEGIN_NAMESPACE
class QChartView;
class QChart;
QT_CHARTS_END_NAMESPACE

...
QT_CHARTS_USE_NAMESPACE
class ThemeWidget: public QWidget
{
    Q_OBJECT
public:
    explicit ThemeWidget(QWidget *parent = 0);
    ~ThemeWidget();

private Q_SLOTS:
    void every_timer_tick();
    void on_checkBoxPause_clicked();


private:

    //....

private:
    //....
    Ui_ThemeWidgetForm *m_ui;
    //QList<QChartView *> m_charts;


};

#endif /* THEMEWIDGET_H */

.cpp:

ThemeWidget::ThemeWidget(QWidget *parent) : QWidget(parent),  m_ui(new Ui_ThemeWidgetForm)
{

    //....

    QLineSeries *series = new QLineSeries();


    QChart *chart = new QChart();
    chart->addSeries(series);

    QChartView *chartView  = new QChartView(chart);

    chart->createDefaultAxes();
    chart->axes(Qt::Horizontal).first()->setRange(0, 1000); //m_valueMax
    chart->axes(Qt::Vertical).first()->setRange(0, 1000); //m_valueCount
    m_ui->setupUi(this);


    connect( timer, SIGNAL( timeout() ), SLOT( every_timer_tick()));
    timer->start(timer_tick_period);

}

ThemeWidget::~ThemeWidget()
{
    delete m_ui;
}

void ThemeWidget::every_timer_tick() {


    chart-> ?????????????
    m_ui->textEdit_log_2->append(QString::number(counter++));




}

Не силён в классах. Как мне в теле every_timer_tick() обратиться к chart? Напрашивается передача функции every_timer_tick по указателю на chart?

Прописываю в заголовке

class ThemeWidget: public QWidget
{
    Q_OBJECT
    QChart *chart;
}

Так правильно? Здесь должен быть chart или указатель *chart?


Ответы (0 шт):