菜单栏和工具栏

我们跟着一个例子的代码看着注释讲:

#include "mainwindow.h"
#include<QMenu>//菜单栏需要的头文件
#include<QMenuBar>//菜单栏需要的头文件
#include<QAction>//添加动作头文件
#include<QDebug>//输出函数的头文件
#include<QPushButton>
#include<QToolBar>//工具栏的头文件
#include<QStatusBar>//状态栏需要的头文件
#include<QLabel>//标签需要的头文件
#include<QDockWidget>//浮动栏需要
#include<QTextEdit>//核心控件需要的头文件
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //菜单栏
    resize(400,300);
    QMenuBar *mBar=menuBar();//先创建一个总的菜单栏,相当于一个大的容器
    //添加菜单
    QMenu *pFile=mBar->addMenu("文件");//在这个大的容器里面添加小的菜单
    QMenu *bShow=mBar->addMenu("构建");
    //添加菜单项
    QAction *pNew=pFile->addAction("新建文件或项目");//在菜单中添加菜单项
    QAction *pBian=pFile->addAction("打开文件或项目");
    QAction *pCreat=bShow->addAction("构建所有项目");
    QAction *pDo=bShow->addAction("执行qmake");
    connect(pNew,&QAction::triggered,//Lamba表达式,triggered是QAction中自带的信号,另外可以参考API
            [=]()
            {
              qDebug()<<"新建文件";//点击会打印出文字
            }
            );
    connect(pBian,&QAction::triggered,
            [=]()
            {
              qDebug()<<"打开项目";
            }
            );
     pFile->addSeparator();//添加分割线,修饰作用
    //工具栏
    QToolBar *tooBar=addToolBar("toolBar");//新建一个工具栏
    //工具栏添加快捷键
    tooBar->addAction(pNew);//在工具栏中添加新的快捷键
    //下面是在工具栏中添加一个新的按钮的方法
    QPushButton *bb=new QPushButton(this);
    bb->setText("+__+");
    tooBar->addWidget(bb);
    //状态栏
    QStatusBar *status=statusBar();//创建一个状态栏
    QLabel *label=new QLabel(this);//创建一个标签
    label->setText("Normal text file");//添加标签文字
    status->addWidget(label);//将标签添加进状态栏
    status->addWidget(new QLabel(" Chinese ",this));//这是添加进标签的另一种写法
    status->addPermanentWidget(new QLabel("English",this));//这是从右往左加入标签
    //核心控件
    QTextEdit *edi=new QTextEdit(this);//创建一个新的文本框
    setCentralWidget(edi);//插入核心控件
    //浮动窗口
    QDockWidget *dock=new QDockWidget(this);//创建一个浮动窗口
    addDockWidget(Qt::RightDockWidgetArea,dock);//添加进去这个窗口,并且放在右边
    QTextEdit *edi2=new QTextEdit(this);//创建一个文本栏
    dock->setWidget(edi2);//将文本栏加入到浮动窗口中
}

MainWindow::~MainWindow()
{

}


补充一下,浮动窗口添加的时候:

addDockWidget(Qt::RightDockWidgetArea,dock)
里面的参数可以是:


效果:


猜你喜欢

转载自blog.csdn.net/scwMason/article/details/81053799