学习QT笔记第二天(菜单栏对话框)

 一个的用set 能有多个就用add

  1. QMainWindow
    1. 菜单栏 最多有一个
      1.  QMenuBar * bar = MenuBar();
      2.  setMenuBar( bar )
      3.  QMenu * fileMenu = bar -> addMenu(“文件”)   创建菜单
      4.  QAction * newAction =  fileMenu ->addAction(“新建”); 创建菜单项
      5.  添加分割线 fileMenu->addSeparator();
    2. 创建菜单项的时候 快捷方式

  1. 2  工具栏 可以有多个
    1. 添加菜单项 或者添加 小控件
    2. 设置  后期停靠区域,设置浮动,设置移动
    3. addToolBar( 默认停靠区域, toolbar );  Qt::LeftToolBarArea
    4. QToolBar * toolbar = new QToolBar(this);
  2. 3状态栏  最多一个
    1.   stBar->addPermanentWidget(label2); 放右侧信息
    2.   stBar->addWidget(label);放左侧信息
    3. 设置到窗口中 setStatusBar(stBar);
    4. QStatusBar * stBar = statusBar(this);

 将laber 放到窗口中

  1. 4铆接部件  浮动窗口  可以多个
    1. 浮动窗口位置是相对中心控件的
      1. QDockWidget
      2. addDockWidget( 默认停靠区域,浮动窗口指针)
      3. 设置后期停靠区域

  

  1. 5设置核心部件  只能一个
    1. setCentralWidget(edit);
    2. 中心部件其实就是文本编译器,或者浏览器等显示的东西

 二、用ui的方式创建比较方便

注意:创建工具栏的时候用菜单栏创建好的直接拖就行,此时两个是同样的作用

1.icon这里添加图标

用代码实现添加图标

1.首先增加资源文件

  1. 资源文件
    1. 将图片文件 拷贝到项目位置下
    2. 右键项目->添加新文件 –>  Qt - > Qt recourse File   - >给资源文件起名
    3. res 生成  res.qrc 
    4. open in editor  编辑资源
    5. 添加前缀  添加文件
    6. 使用  “ : + 前缀名 + 文件名 ”

 

模态与非模态对话框

  1. 非模态对话框  可以对其他窗口进行操作
    1. 防止一闪而过 创建到堆区
    2. QDialog * dlg = new QDialog(this)
    3. dlg->show();
    4. 潜在的一个小问题,只有在Main Window关闭 之后里面的QDialog才释放内存,如何在关闭QDialog时能直接释放内存呢?
    5. dlg2->setAttribute(Qt::WA_DeleteOnClose); //55 属性
  2. 模态对话框   不可以对其他窗口进行操作 阻塞
    1. QDialog  dlg(this)
    2. dlg.exec();//阻塞作用 关闭后才执行下一步操作

 颜色对话框

#include<QColorDialog>

静态成员函数省去了创建对象,直接调用(类名)

 文件对话框

#include<QFileDialog>

#include<>

字体对话框

                         

有什么不懂的话可以查帮助文档!!! 

 输入对话框

#include<QInputDialog>

 消息对话框

#include<QMassageBox>

 进度对话框

没有静态成员函数 所以只能new对象调用

#include<QProgressDialog>

为什么没有创建指针呢?QProgressDialog *p=new QProgressDialog();

因为创建指针的话只有在大窗口关闭时候,才能delete释放内存,容易造成内存泄漏的危险(类似全局变量)

而局部变量 就会在关闭进度框的时候释放了(不加运行不了)

 错误信息对话框

在类中定义成员变量

向导对话框

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值