以下是一个使用Qt实现生成多级菜单的示例代码:
from PyQt5.QtWidgets import QApplication, QMenu, QAction
def generate_menu(menu_data, parent_menu):
for item in menu_data:
if 'submenu' in item:
submenu = QMenu(item['title'], parent_menu)
parent_menu.addMenu(submenu)
generate_menu(item['submenu'], submenu)
else:
action = QAction(item['title'], parent_menu)
parent_menu.addAction(action)
# 示例菜单数据
menu_data = [
{
'title': '菜单项1',
'submenu': [
{
'title': '子菜单项1',
},
{
'title': '子菜单项2',
'submenu': [
{
'title': '孙子菜单项1'
},
{
'title': '孙子菜单项2'
}
]
}
]
},
{
'title': '菜单项2'
}
]
app = QApplication([])
menu_bar = app.primaryScreen().availableGeometry().center()
main_menu = QMenu()
generate_menu(menu_data, main_menu)
menu_bar.addMenu(main_menu)
app.exec_()
这段代码使用了PyQt库,创建了一个基于QMenu和QAction的多级菜单。你可以根据需要自定义菜单数据结构,并通过递归方式动态生成多级菜单。最后,将主菜单添加到应用程序的主窗口上,并启动应用程序事件循环以显示该界面。
请注意,此代码仅为示例,可能需要根据你的具体需求进行适当的修改和扩展。
内容由零声教学AI助手提供,问题来源于学员提问