Получить доступ к родительским переменным из дочернего класса в qt

У меня есть два класса в Qt. В одном я объявил несколько переменных и дочерний класс QFrame с QPainter. Теперь, если это возможно, как я могу получить доступ к родительским переменным из дочернего класса? Я знаю, что могу передавать переменные по сигналам и слотам или перехватывать дочерние события QPainter, но я думаю, что было бы неплохо получить доступ напрямую.

2 ответа

Не совсем. Простой пример:

родительский заголовок

class gameWindow : public QWidget
{
    Q_OBJECT

public:
    gameWindow(QWidget *parent = 0);
    int round;

};

родительский класс

#include "gamewindow.h"

gameWindow::gameWindow(QWidget *parent) :
    QWidget(parent)
{
   round = 0;
}

заголовок дочерний:

class plArea:public QWidget
{
    Q_OBJECT
public:
    plArea(QWidget *parent=0);

};

класс ребенка:

#include "plarea.h"

plArea::plArea(QWidget *parent):QWidget (parent)
{
    parent->round = 1;
}

вернуть

У класса QWidget нет члена с именем round

Это сводится к видимости данных в базовом классе. Если данные общедоступны или защищены, у вас есть доступ к ним. В противном случае данные являются частными, и у вас нет прямого доступа к ним.

Другие вопросы по тегам