[UMG] Not display added in c++ CanvasPanel

The button visibility is likely false, have you tried the following?

(Note: AddChildToCanvas returns the UCanvasPanelSlot it added the child to, so I simplified your code just a bit)

             if (UCanvasPanelSlot * ButtonSlot = ButtonLayout->AddChildToCanvas(Button) )
             {
                 ButtonSlot->SetVisibility(true);
                 ButtonSlot->SetAutoSize(true);
                 ButtonSlot->SetAnchors(FAnchors(0.f, 0.f, 1.f, 1.f));
                 ButtonSlot->SetOffsets(FMargin(0.f, 0.f));
             }