Day1、QT基础知识之C++基础(下)

一、添加菜单栏

1、首先要开辟出菜单区域,在内存中开辟出菜单区域之后设置显示

 QMenuBar *mBar=new QMenuBar();
 setMenuBar(mBar); //上面只是开辟了菜单栏的控件但是没有进行分配,所以使用setbar进行设置

使用setMenuBar()函数设置菜单区域,mBar为区域指针

 

2、在菜单栏中开辟对话框,使用addMenu()函数

  QMenu *menu=mBar->addMenu(QString::fromLocal8Bit("对话框"));

上述语句在菜单栏中添加对话框选项,为了进一步在菜单中进行子菜单功能设置,在menu中添加新动作,使用QAction函数
  QAction *p1=menu->addAction(QString::fromLocal8Bit("模态对话框"));   //

模态对话框:只可操作当前窗口.显示方式为.exec()

非模态对话框:除操作当前窗口外,还可以操作其他窗口。显示方式为.show()。

***注意***:
若非模态对话框的变量声明为动态分配时,可使用按键删除方式清除内存空间,防止多次调用内存泄漏

3、开辟快捷工具栏并链接快捷功能
当快捷功能栏进行功能链接时,将之前的功能指针放在工具栏函数中即可实现
   //快捷工具栏---------菜单栏的快捷方式,使用QToolBar作为基类创建自定义类
    QToolBar *toolll=addToolBar("toolBar");   //toolll是自定义命名
    //工具栏添加快捷键
     toolll->addAction(pNew);  //将函数功能指针链接到快捷方式中

4、QMainWidow函数的使用

QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)多个工具栏(tool bar)多个锚接部件(dock widgets)一个状态栏(status bar)以及一个中心部件(central widget).

1>添加菜单栏(肯定是一个Bar棒字区域sei)
首先是创建菜单栏内存区域 QMenuBar *mBar=new QMenuBar();
然后是设计菜单区域显示 setQmenuBar(mBar);
 QMenuBar *mBar=new QMenuBar();
    setMenuBar(mBar);
2>在菜单栏添加菜单项(那必须是菜单了)
QMenu *pFile=mBar->addMenu("File"); //在菜单栏中添加file功能
 QMenu *pfile=mBar->addMenu("file");
3>给菜单项添加动作
 QAction *pNew = pFile->addAction("new");   //在菜单项中添加动作

/*
 添加槽函数与信号   
*/
   connect(pNew,&QAction::triggered,   
           [=]()
             { 
       qDebug()<<  QString::fromLocal8Bit("新建被按下");
             }
           );
/*
========添加分割线
oFile->addSeparator();
*/ 

====添加打开文件功能
 1 //打开功能
 2     QAction *pOpen = pFile->addAction(QString::fromLocal8Bit("打开"));   //接收返回值进行下一步操作
 3 
 4 
 5     connect(pOpen,&QAction::triggered,
 6             [=]()
 7     {
 8        QString path= QFileDialog::getOpenFileName(
 9                    this,   //指定父对象
10                    "open", //对话框标题
11                    "../",   //上级路径  ../
12           "souce(*.cpp *.h);;"
13           "Text(*.txt);;"
14           "all(*.*)"    //""连接到一起
15                    );


 



























原文地址:https://www.cnblogs.com/luxinshuo/p/12203206.html