zoukankan      html  css  js  c++  java
  • 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                    );
    
    
    
     



























  • 相关阅读:
    企业视频会议EasyRTC视频云服务是如何满足不同企业多场景直播的?
    TSINGSEE青犀视频H265网页播放器EasyPlayerPro-Win如何通过配置文件实现自动播放等功能?
    TSINGSEE青犀视频自主研发H265播放器EasyPlayerPro-Win C++如何获取软件版本信息源码
    RTMP视频直播点播平台EasyDSS及企业视频通话会议系统EasyRTC内启动nginx 配置重定向功能介绍
    面向对象程序设计上机练习二(函数模板)
    2014暑假ACM训练总结
    codeforces 之 Little Pigs and Wolves
    SDUT 2766 小明传奇2
    0-1背包的总结
    POJ 2063 Investment (完全背包)
  • 原文地址:https://www.cnblogs.com/luxinshuo/p/12203206.html
Copyright © 2011-2022 走看看