Рассмотрим это QWidget
, инициализированный как:
QWidget *Logger;
Logger = new QWidget();
QPushButton *btn;
btn= new QPushButton(Logger);
btn->setObjectName(QStringLiteral("pushButton"));
Logger->show();
Он отображает регистратор с кнопкой с текстом pushButton.
Теперь позже, если я хочу получить доступ к кнопке pushButton, я делаю это следующим образомэто:
QPushButton *pushButton = Logger->findChild<QPushButton *>("pushButton");
pushButton->setText("NEW BUTTON");
Я хочу знать, есть ли возможность прямого доступа к этой кнопке с Logger
??
Что-то вроде:
Logger->btn ...
Я пытался, но это не такне работа.У меня есть виджеты, определенные так со многими дочерними объектами, и мне интересно, это единственный способ получить к ним доступ во время выполнения ??
РЕДАКТИРОВАТЬ: @drescherjm, Итак, что-то вроде этих строк вы имеете в виду:
class MyWidget : QWidget
{
public:
QPushButton *pushButton;
MyWidget(){
pushButton = new QPushButton(this);
}
};
MyWidget *w = new MyWidget();
w->pushButton->setText("XYZ");
И стоит ли создавать столько классов ??для небольших избыточных задач?