菜单栏工具栏介绍
添加图标资源
程序实现
运行效果
项目源码
开发环境
菜单栏工具栏介绍
菜单栏和工具栏在开发中应用很广泛,如下:
且工具栏可根据需要移动到不同位置
添加图标资源
添加资源图标目的是为了在菜单栏和工具栏中显示图标,程序美观;
项目中添加新文件,选择QT—资源文件—输入名称“imgs”,其他选项默认
添加到项目中;
在imgs.qrc中,点击“Add Prefix”添加前缀,修改前缀名称后,点击“Add Files”添加图像;
图像资源成功导入;
程序实现
首先在头文件中声明QMenu(菜单栏)、QToolBar(工具栏)、QAction(动作)
QMenu *fileMenu;//声明菜单栏
QMenu *operaMenu;//声明菜单栏
QToolBar *fileTool;//声明工具栏
QAction *readAct;//声明读文件菜单
QAction *writeAct;//声明写文件菜单
QAction *updateAct;//声明更新文件菜单
QAction *exitAct;//声明推出程序菜单
首先创建动作,并使用connect() 绑定动作执行内容
void MainWindow::CreateActions()//实例化下拉菜单功能
{
const QIcon readActIcon =QIcon(“:/imgs/read.png”);
readAct = new QAction(readActIcon, QStringLiteral(“读取文件(&O)”),this);//实例化readAct
readAct->setStatusTip(QStringLiteral(“读取文件”));//设置鼠标停留显示内容
readAct->setShortcuts(QKeySequence::Open);//打开快捷键
connect(readAct, &QAction::triggered, this, &MainWindow::ReadFile);//绑定动作执行内容
const QIcon writeActIcon =QIcon(“:/imgs/write.png”);
writeAct = new QAction(writeActIcon, QStringLiteral(“写入文件(&N)”), this);
writeAct->setStatusTip(QStringLiteral(“写入文件”));
writeAct->setShortcuts(QKeySequence::New);//创建快捷键
connect(writeAct, &QAction::triggered, this, &MainWindow::WriteFile);
const QIcon updateActIcon =QIcon(“:/imgs/update.png”);
updateAct = new QAction(updateActIcon, QStringLiteral(“更新文件(&U)”), this);
updateAct->setStatusTip(QStringLiteral(“更新文件”));
connect(updateAct, &QAction::triggered, this, &MainWindow::UpdateFile);
const QIcon exitActIcon =QIcon(“:/imgs/exit.png”);
exitAct = new QAction(exitActIcon, QStringLiteral(“退出系统(&E)”), this);
exitAct->setStatusTip(QStringLiter
需要文中资料的朋友,可以加我\/信获取:vip1024b 备注Java
al(“退出系统”));
exitAct->setShortcuts(QKeySequence::Close);//退出系统快捷键
connect(exitAct, &QAction::triggered, this, &MainWindow::ExitProgram);
}
创建菜单栏,并加入动作:
void MainWindow::CreatMenuBar()
{
fileMenu = menuBar()->addMenu(QStringLiteral(“文件”).trimmed()+tr(“(&F)”));//实例化一个菜单栏
operaMenu = menuBar()->addMenu(QStringLiteral(“操作”).trimmed()+tr(“(&A)”));//实例化一个菜单栏
fileMenu->addAction(readAct);//添加动作
fileMenu->addAction(writeAct);
fileMenu->addAction(updateAct);
fileMenu->addSeparator();
fileMenu->addAction(exitAct);
}
创建工具栏,并加入动作:
void MainWindow::CreateToolbar()//实例化工具栏
{
fileTool = addToolBar(QStringLiteral(“文件”));
fileTool->addAction(readAct);//添加动作
fileTool->addAction(writeAct);
fileTool->addAction(updateAct);
fileMenu->addSeparator();
fileMenu->addAction(exitAct);
}
实现读取文件函数,此处为读取文件实际操作,使用QSettings辅助读取ini文件:
void MainWindow::ReadFile()
最后
最后,强调几点:
- 1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的; 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;
- 2. 和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
- 3. 注意自己开源的Github项目,面试官可能会挖你的Github项目提问;
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目。
面试答案
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目。
面试答案
[外链图片转存中…(img-VQl8Fbp1-1716342496314)]
[外链图片转存中…(img-7vA7Pxfo-1716342496314)]
[外链图片转存中…(img-ttL8fdo8-1716342496315)]