文章17 | 阅读 14057 | 点赞0
菜单栏、工具栏、任务栏是软件中常见的组件,本节将会讲解如何创建菜单栏并生成一级菜单、二级菜单,如何在工具栏中添加图标和控件,如何在任务栏中显示文本。
// 标题大小
setWindowTitle("图像处理自编软件 by 笔尖");
// 软件图标
setWindowIcon(QIcon("../Image/icon/ImageProcessing.png"));
// 界面大小
resize(QApplication::desktop()->width()*0.9, QApplication::desktop()->height()*0.9);
move(QApplication::desktop()->width()*0.05, QApplication::desktop()->height()*0.01);
// 第一个菜单
QMenu *menu1 = menuBar()->addMenu(tr("菜单栏1"));
// 创建子菜单,第一个参数QIcon为添加图标,注意路径是否正确,第二个参数是子菜单的显示文本
QAction *act1 = new QAction(QIcon("../Image/act1.png"), tr("子菜单"), this);
// 创建快捷方式:Ctrl+N,如果想自定义快捷键,可以设置为act->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));
act1->setShortcuts(QKeySequence::New);
// 子菜单触发时执行槽函数,不明白的可以参见前文:信号与槽
connect(act1, SIGNAL(triggered()), this, SLOT(pSlot1()));
// 菜单栏添加子菜单
menu1->addAction(act1);
// 第二个菜单:添加二级菜单
QMenu *menu2 = menuBar()->addMenu(tr("菜单栏2"));
QAction *act2 = new QAction(QIcon("../Image/act2.png"), tr("一级菜单"), this);
QMenu *submenu = new QMenu();
QAction *subact = new QAction(QIcon("../Image/subact.png"), tr("二级菜单"), this);
submenu->addAction(subact);
connect(subact, SIGNAL(triggered()), this, SLOT(subSlot()));
act2->setMenu(submenu); // 将二级菜单添加到一级菜单上
menu2->addAction(act2); // 将一级菜单添加到菜单栏上
运行结果
// 窗口自带的工具栏
ui.mainToolBar->addAction(act1); //添加动作
// 自定义工具栏
QToolBar *toolBar = new QToolBar();
toolBar->setMovable(false); // 设置工具栏不可移动,默认是可移动
addToolBar(toolBar); // 把工具栏添加到窗口
QPushButton *button = new QPushButton(); // 这里用按钮控件进行测试
button->setText(tr("控件"));
toolBar->addAction(subact); // 添加动作
toolBar->addWidget(button); // 添加控件
运行结果
// 任务栏
act1->setStatusTip(tr("子菜单"));
act2->setStatusTip(tr("一级菜单"));
subact->setStatusTip(tr("二级菜单"));
运行结果
如果出现汉字乱码问题,需要在程序中添加#pragma execution_character_set("utf-8")
!!!
头文件中找不到QPushButton的,说明缺少头文件。
博主用到的头文件有
#include <QtGui>
#include <QtWidgets>
#include <string>
#include <QMainWindow>
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/u013165921/article/details/79280751
内容来源于网络,如有侵权,请联系作者删除!