菜单栏图标的创建
1.QT设计师设计
正常创建完工程后进入mainwindow.ui文件中进行界面设计。
我们双击坐上角可以键入菜单栏显示内容,在旁边加括号,括号里键入‘&’+任意字母可表示快捷键,例如:”文件(&F)“表示文件菜单选项的快捷键为Alt+F。(如过键入中文无效则可在旁边属性栏修改)。
下部Action编辑器中可以看到对应Action(即菜单栏)的设置界面,包括快捷键以及图标。
图标的导入:首先我们需要在文件资源管理器中的项目目录下新建一个文件夹单独存放我们想要设置为图标的图片。方便管理与找路径。
接着就在QT的工程中添加资源文件
添加好资源文件后就会跳转到相应的资源管理界面,这里可以对前缀和内部文件进行管理。
完成以上资源文件的创建后,便可以向相应的Action设置图标
到这设置图标的操作就完成了。
2.纯代码实现
我们还可以向mainwindow.cpp的文件中写入我们想要的菜单。
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)//初始化列表,用于调用基类QMainWindow的构造函数,并将parent参数传递给它。这表明MainWindow类是从QMainWindow类派生出来的
, ui(new Ui::MainWindow)//构造函数初始化列表中继续,用于创建一个名为ui的成员变量,它是一个指向Ui::MainWindow类的实例的指针。Ui::MainWindow通常是由Qt Designer工具生成的用户界面类的名称,这个类包含了所有的UI元素和它们在界面上布局的设置。
{
ui->setupUi(this);
//添加动作(就是创建相应Action对象)
QAction *openAction = new QAction(tr("&Open"),this);
//添加图标(创建图标对象,并调用上一步创建Action对象的方法)
QIcon icon(":/image/images/1693149021407.jpg");
openAction->setIcon(icon);
//设置快捷键(调用Action对象方法)
openAction->setShortcut(QKeySequence(tr("Ctrl+O")));
//在文件菜单中设置新的打开动作
ui -> menu -> addAction(openAction);
//创建新的编辑菜单
QMenu *menu_E = ui->menubar->addMenu(tr("编辑(&E)"));
QAction *findAction = new QAction(tr("&Find"),this);
QIcon icon2(":/image/images/1693149324150.jpg");
findAction -> setIcon(icon2);
findAction -> setShortcut(QKeySequence("Ctrl+F"));
menu_E -> addAction(findAction);
}