共4种选项:
文本:输入父对象名,文本即可
文本+图标:输入父对象名,文本,图标
文本+图标+菜单:输入父对象名,子对象名,文本,图标
文本+菜单:输入父对象名,子对象名,文本
不需要填的为空即可
虽然代码很简单,但感觉效率提升了。
可以更方便地写关于菜单的程序。
比如:我可以跟快速地生成这样的菜单。
这是相关程序:
parent->addAction("发送群消息");
parent->addAction("标为未读");
parent->addAction(QIcon(":/images/Information.png"),"查看群资料");
QMenu * son1 = parent->addMenu("群消息设置");
son1->addAction("接收消息并提醒");
son1->addAction("接收消息但不提醒");
son1->addAction("收进群助手且不提醒");
son1->addAction("屏蔽群消息");
son1->addAction("屏蔽群内图片");
son1->addAction(QIcon(":/images/关注.png"),"设置本群特别关注");
parent->addAction("查看消息记录");
parent->addAction("设为置顶");
parent->addAction("从会话列表移除");
parent->addAction(QIcon(":/images/编辑.png"),"修改群聊备注");
parent->addAction("如何升级");
parent->addAction("退出该群");
parent->addAction("举报该群");
核心代码:
void code_generation::on_pushButton_clicked()
{
int value=ui->comboBox->currentIndex()+1;
QString text=ui->line_text->text();
QString path=ui->line_path->text();
QString obj=ui->line_object->text();
QString son_obj=ui->line_son_obj->text();
QString goal;
if(value==1){
goal=QString("%1->addAction(\"%2\");").arg(obj).arg(text);
}
else if(value==2){
goal=QString("%1->addAction(QIcon(\"%2\"),\"%3\");").arg(obj).arg(path).arg(text);
}
else if(value==3){
goal=QString("QMenu * %0 = %1->addMenu(QIcon(\"%2\"),\"%3\");").arg(son_obj).arg(obj).arg(path).arg(text);
}
else if(value==4){
goal=QString("QMenu * %0 = %1->addMenu(\"%2\");").arg(son_obj).arg(obj).arg(text);
}
ui->plainTextEdit->appendPlainText(goal);
}
源码:
Qt与学习通页面: 记录与Qt相关的代码 - Gitee.com