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?