一、新建项目
定义函数create
二、创建菜单栏
(一)实现界面
1.定义变量
private:
//定义
QMenuBar *textMenuBar;
QMenu *fileMenu;
QMenu *editMenu;
QMenu *aboutMenu;
2.添加头文件
此处可以前置声明
3.创建菜单栏代码
textMainWindow::textMainWindow(QWidget *parent)
: QMainWindow(parent)
{
//创建菜单栏
textMenuBar = this->menuBar();//得到当前的菜单栏
fileMenu = new QMenu("文件(&F)");//在菜单栏里添加菜单file,&F-小伙伴
textMenuBar->addMenu(fileMenu);//添加菜单
editMenu = new QMenu("退出(&E)");//在菜单栏里添加菜单edit,&F-小伙伴
textMenuBar->addMenu(editMenu);//添加菜单
aboutMenu = new QMenu("关于(&A)");//在菜单栏里添加菜单file,&F-小伙伴
textMenuBar->addMenu(aboutMenu);//添加菜单
//创建工具栏
//创建dock
//创建中心部件
//创建状态栏
}
(二)、添加动作
1.添加对象
//动作对象
QAction *newAction;
QAction *openAction;
QAction *saveAction;
QAction *saveasAction;//另存
QAction *closeAction;
2.添加动作
//添加动作
//文件菜单
newAction = new QAction("新建(&N)");
fileMenu->addAction(newAction);//file中添加
openAction = new QAction("打开(&O)");
fileMenu->addAction(openAction);//file中添加
saveAction = new QAction("保存(&S)");
fileMenu->addAction(saveAction);//file中添加
saveasAction = new QAction("另存(&V)");
fileMenu->addAction(saveasAction);//file中添加
closeAction = new QAction("关闭(&C)");
fileMenu->addAction(closeAction);//file中添加
//编辑菜单
copyAction = new QAction("关闭(&C)");
editMenu->addAction(copyAction);//edit中添加
3.函数封装
void textMainWindow::createMenuBar()
{
//创建菜单栏
textMenuBar = this->menuBar();//得到当前的菜单栏
fileMenu = new QMenu("文件(&F)");//在菜单栏里添加菜单file,&F-小伙伴
textMenuBar->addMenu(fileMenu);//添加菜单
editMenu = new QMenu("退出(&E)");//在菜单栏里添加菜单edit,&F-小伙伴
textMenuBar->addMenu(editMenu);//添加菜单
aboutMenu = new QMenu("关于(&A)");//在菜单栏里添加菜单file,&F-小伙伴
textMenuBar->addMenu(aboutMenu);//添加菜单
//添加动作
//文件菜单
newAction = new QAction("新建(&N)");
openAction = new QAction("打开(&O)");
saveAction = new QAction("保存(&S)");
saveasAction = new QAction("另存(&V)");
closeAction = new QAction("关闭(&C)");
fileMenu->addAction(newAction);//file中添加
fileMenu->addAction(openAction);//file中添加
fileMenu->addAction(saveAction);//file中添加
fileMenu->addAction(saveasAction);//file中添加
fileMenu->addAction(closeAction);//file中添加
//编辑菜单
copyAction = new QAction("复制(&P)");
editMenu->addAction(copyAction);//edit中添加
}
结果(第一行)
三、创建工具栏
定义:
QToolBar *fileToolBar;
QToolBar *editToolBar;
函数:
定义的toolbar对象中调用上文定义的动作
void textMainWindow::createToolBar()
{
fileToolBar = new QToolBar("文件工具栏");
this->addToolBar(fileToolBar);
fileToolBar->addAction(newAction);
editToolBar = this->addToolBar("编辑工具栏");
editToolBar->addAction(copyAction);
}
四、界面优化:
添加图标文件(资源机制)
1.添加资源文件
2.添加前缀和路径
3.使用:
openAction = new QAction(QIcon(":/new/prefix1/images/123.png"),"打开(&O)");
4.结果:
五、中心部件
1.添加新的ui界面(随意设计)作为中心部件
2.使用(函数)
void textMainWindow::createCentralWidget()
{
Form *widget = new Form(this);
this->setCentralWidget(widget);
}
3.结果
六、状态栏
1.直接调用函数showMessage()
void textMainWindow::createStatusBar()
{
this->statusBar()->showMessage("这是fort的编辑器!!",4000);
}
七、头文件的调用
补代码如下:
textmainwindow.h
#include <QMainWindow>
#include "form.h"
class QMenuBar;//前置声明
class QMenu;
class QToolBar;
class QAction;
class QStatusBar;
class QWidget;
textmainwindow.cpp
#include "textmainwindow.h"
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include<QToolBar>
#include <QWidget>
#include <QStatusBar>
以上代码关联没有实现,待二补充