Historical · current compatibility unverified Original context: PME version not stated; Blender version not stated; 2020.

Outcome

Compose several logical control groups into one Popup Dialog while preserving a visible boundary around each group.

Historical construction

The working forum example used one child Popup Dialog per section and a final Popup Dialog as their container:

  1. Build the left section as its own Popup Dialog.

  2. Build the right section as another Popup Dialog.

  3. Add both child dialogs to a container dialog.

  4. Draw each child from the container with a frame:

    draw_menu("Child Menu", frame=True)
  5. Place the container dialog in the parent Pie Menu.

The answer also described a lighter alternative: disable Use Frame for the popup placed in the Pie Menu. That retained row-level separation but did not draw a complete frame around every child section.

The requester confirmed that the framed child-dialog construction produced the desired result.

Composition boundary

The child dialogs own their controls; the container owns their arrangement and framing. Keeping those roles separate makes each section reusable and prevents one large dialog from becoming an unstructured list of commands. Apply the frame where the child is drawn, and leave it off when the extra boundary adds more weight than clarity.

The original answer also noted that each menu invocation normally leads to one action. Nesting presents related controls together; batch operations still belong in a Macro or script.

Sources