here code that I used in demo of character screen:
func generate_selection(items):
var ui_node = OptionButton.new()
for item in items:
ui_node.add_item(item)
return ui_node
Basically you are adding items that are strings to option button similary you can work with MenuButton but you need to add items to its popup and not button directly e.g. your_menu_button.get_popup().add_item("your item")