Проблема в декларации вашего ярлыка. Вы создаете метку локальной переменной, которая уничтожается в конце конструктора EDLController.
Вы можете подтвердить это, унаследовав QLabel следующим образом:
class MyLabel : public QLabel
{
Q_OBJECT
public:
MyLabel(const QString& str, QWidget* parent = nullptr) : QLabel(str,parent){}
~MyLabel() {qDebug() << "LABEL DELETED";}
};
Сообщение "LABEL DELETED" будет зарегистрировано при создании экземпляра QDialog.
И, конечно, вы не можете отобразить удаленный виджет.
Правильный код следующий:
QLabel* label = new QLabel("text");
vBoxLayout.addWidget(label);
Метка будет уничтожена, когда родительский элемент (ваш диалог) будет уничтожен.