Создается объект QMenu. Для каждого пункта меню создаются объекты QAction, которые затем добавляются в созданное до этого меню посредством метода addAction. Для добавления подменю создается еще один объект QMenu и добавляется уже посредством метода addMenu. Далее, в зависимости от назначения меню, его можно сделать как главным меню (класс QMenuBar), так и забиндить его на кнопку QPushButton::setMenu.