현재 C++에서는 QComboBox에서 선택하면 몇 개의 QLabels, QLineEdit 및 QCheckBox를 만드는 코드가 있습니다. 그러나, 나는 콤보 상자에서 새로운 선택이 만들어지면 나중의 함수에서 만든 위젯에 액세스 할 수 있기를 원합니다. ui->Object을 수행하여 Designer를 사용하여 만든 객체에 액세스 할 수 있지만 자체 코드를 사용하여 만든 객체에서는 수행 할 수 없습니다. 내가 그걸 어떻게 할 수 있는지 알기 때문에 그걸 어떻게 할 수 있을까?Qt에서 나중에 함수 호출에서 함수 내에서 생성 된 위젯에 액세스하는 방법
간단히 말해, 사용자가 선택한 항목을 기반으로 QWidgets를 동적으로 작성/삭제할 수 있기를 원합니다. 이 작업을 수행하기 위해 알아야 할 참조 또는 문서가 있습니까? 아니면 완전히 잘못하고있는 것일까 요?
if (eventType == QString::fromStdString("Birthday"))
{
QLabel *label1 = new QLabel ("Celebrant: ");
QLabel *label2 = new QLabel ("Surprise: ");
QLineEdit *lineEdit = new QLineEdit;
QCheckBox *box = new QCheckBox;
ui->gridLayout->addWidget(label1,3,0,1,1, 0);
ui->gridLayout->addWidget(label2,4,0,1,1,0);
ui->gridLayout->addWidget(lineEdit,3,1,1,1,0);
ui->gridLayout->addWidget(box,4,1,1,2,0);
}
이것은 생각했지만,이 경우 수많은 변수가있을 것입니다. 내 말은, 나는 이것을 할 수있다, 나는 이것이 좋은 습관을 따르는 지 확실하지 않다. – Inanepenguin
좋습니다. 따라서 naming과 findChildren()을 사용하십시오. 너무 어렵지 않고 유연성이 좋습니다. – Macke