mymainwindow.cpp
#include "mymainwindow.h" #include "ui_mymainwindow.h" //#include <QMenuBar> //使用前向聲明,不使用頭文件包含的形式,主要是爲了編譯更快 class QMenuBar;//類的前向聲明 myMainWindow::myMainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::myMainWindow) { ui->setupUi(this); openAction = new QAction(tr("&open"),this); openAction->setShortcut(QKeySequence::Open);//動作的快捷鍵;比如:open快捷鍵 Ctrl+O(Qt的QKeySequence定義的) openAction->setStatusTip(tr("open a file"));//添加狀態欄的提示語句 file = menuBar()->addMenu(tr("&File")); file->addAction(openAction); toolBar = addToolBar(tr("&File")); toolBar->addAction(openAction); } myMainWindow::~myMainWindow() { delete ui; }
運行之後,如圖:
添加圖標:1、首先要使用Qt的資源文件。在QtCreator的項目上右擊,選擇New File...,然後選擇resource file。
2、然後點擊choose,命名,選擇好位置,下一步,完成即可。爲了使用方便,我就把這個文件建在根目錄下,建議應該在仔細規劃好文件之後,建在專門的rsources文件夾下。完成之後,生成的是一個.qrc文件,qrc其實是Qt Recource Collection的縮寫。
3、點擊Add按鈕,首先選擇Add prefix,然後把生成的/new/prefix改成/。這是prefix就是以後使用圖標時需要提供的前綴,以/開頭。添加過prefix之後,然後在工程文件中添加一個圖標,再選擇Add file,選擇那個圖標。這樣完成之後保存qrc文件即可。
圖片的路徑怎麼看呢?可以看出,Qt的資源文件視圖使用樹狀結構,根是/,葉子節點就是圖片位置,連接在一起就是路徑。比如這張圖片的路徑就是/resource/Open.png。
4、添加代碼
class QIcon; //類的前向聲明 ... myMainWindow::myMainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::myMainWindow) { ui->setupUi(this); openAction = new QAction(tr("&open"),this); openAction->setShortcut(QKeySequence::Open);//動作的快捷鍵;比如:open快捷鍵 Ctrl+O(Qt的QKeySequence定義的) openAction->setStatusTip(tr("open a file"));//添加狀態欄的提示語句 openAction->setIcon(QIcon(":/resource/open.png"));//添加這句代碼,添加圖標 file = menuBar()->addMenu(tr("&File")); file->addAction(openAction); toolBar = addToolBar(tr("&File")); toolBar->addAction(openAction); }