根据你提供的代码,我看到在 initMenu()
函数中,菜单项是按照最近打开的文件列表从后往前添加的。这样可能导致菜单项显示的顺序与实际打开文件的顺序不一致。建议修改代码,在 initMenu()
函数中将菜单项按照最近打开的文件列表正序添加,即从前往后遍历最近打开的文件列表,并使用 insertAction()
方法将新的菜单项插入到菜单中。
以下是修改后的 initMenu()
函数示例代码:
void MainWindow::initMenu()//初始化菜单
{
QMenu *menu=new QMenu(this);
QList<QString> list=getRecentFile();
for (int i = 0; i < list.size(); i++) {
QAction *action = menu->addAction(list[i]);
connect(action, SIGNAL(triggered()), mapper, SLOT(map()));
mapper->setMapping(action, list[i]);
}
ui->action->setMenu(menu);
}
这样应该能够正确显示最近打开文件的菜单项顺序了。如果问题仍然存在,请提供更多相关信息或完整代码,以便更好地帮助您解决问题。
内容由零声教学AI助手提供,问题来源于学员提问