一个的用set 能有多个就用add
- QMainWindow
- 菜单栏 最多有一个
- QMenuBar * bar = MenuBar();
- setMenuBar( bar )
- QMenu * fileMenu = bar -> addMenu(“文件”) 创建菜单
- QAction * newAction = fileMenu ->addAction(“新建”); 创建菜单项
- 添加分割线 fileMenu->addSeparator();
- 创建菜单项的时候 快捷方式
- 菜单栏 最多有一个
- 2 工具栏 可以有多个
- 添加菜单项 或者添加 小控件
- 设置 后期停靠区域,设置浮动,设置移动
- addToolBar( 默认停靠区域, toolbar ); Qt::LeftToolBarArea
- QToolBar * toolbar = new QToolBar(this);
- 3状态栏 最多一个
- stBar->addPermanentWidget(label2); 放右侧信息
- stBar->addWidget(label);放左侧信息
- 设置到窗口中 setStatusBar(stBar);
- QStatusBar * stBar = statusBar(this);
将laber 放到窗口中
- 4铆接部件 浮动窗口 可以多个
- 浮动窗口位置是相对中心控件的
- QDockWidget
- addDockWidget( 默认停靠区域,浮动窗口指针)
- 设置后期停靠区域
- 浮动窗口位置是相对中心控件的
- 5设置核心部件 只能一个
- setCentralWidget(edit);
- 中心部件其实就是文本编译器,或者浏览器等显示的东西
二、用ui的方式创建比较方便
注意:创建工具栏的时候用菜单栏创建好的直接拖就行,此时两个是同样的作用
1.icon这里添加图标
用代码实现添加图标
1.首先增加资源文件
- 资源文件
- 将图片文件 拷贝到项目位置下
- 右键项目->添加新文件 –> Qt - > Qt recourse File - >给资源文件起名
- res 生成 res.qrc
- open in editor 编辑资源
- 添加前缀 添加文件
- 使用 “ : + 前缀名 + 文件名 ”
模态与非模态对话框
- 非模态对话框 可以对其他窗口进行操作
- 防止一闪而过 创建到堆区
- QDialog * dlg = new QDialog(this)
- dlg->show();
- 潜在的一个小问题,只有在Main Window关闭 之后里面的QDialog才释放内存,如何在关闭QDialog时能直接释放内存呢?
- dlg2->setAttribute(Qt::WA_DeleteOnClose); //55号 属性
- 模态对话框 不可以对其他窗口进行操作 阻塞
- QDialog dlg(this)
- dlg.exec();//阻塞作用 关闭后才执行下一步操作
颜色对话框
#include<QColorDialog>
静态成员函数省去了创建对象,直接调用(类名)
文件对话框
#include<QFileDialog>
#include<>
字体对话框
有什么不懂的话可以查帮助文档!!!
输入对话框
#include<QInputDialog>
消息对话框
#include<QMassageBox>
进度对话框
没有静态成员函数 所以只能new对象调用
#include<QProgressDialog>
为什么没有创建指针呢?QProgressDialog *p=new QProgressDialog();
因为创建指针的话只有在大窗口关闭时候,才能delete释放内存,容易造成内存泄漏的危险(类似全局变量)
而局部变量 就会在关闭进度框的时候释放了(不加运行不了)
错误信息对话框
在类中定义成员变量
向导对话框