24.7.29学习目录
一.QMainWindow
1.铆接部件
被称为浮动窗口,其有QDockWidget类
QDockWidget *dockWidget = new QDockWidget(this);
//将其放在顶部
this->addDockWidget(QT::TopDockWidgetArea,dockWidget);
2.中心部件
除了上面部件以外,可以创建其他部件作为核心部件
//创建记事本作为核心部件
QTextEdit *edit = new QTextEdit("文本编译器",this);
this->setCentralWidget(edit);
3.资源文件
Qt资源系统是一个跨平台的资源机制,用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部
例如加载图片资源
(1)在项目中新增一个资源文件
(2)在资源文件中加入图片(可以先修改前缀,方便调用,并且可以个照片起别名)
(3)使用图片资源
//给菜单项加载图片
QPixmap pix;
//选择图片
pix.load(":图片资源的前缀/图片位置和名字");
//给菜单项设置图片
action->setIcon(QIcon(pix));
4.UI
ui功能:绘制界面,其是通过拖拽控件进行界面的设置
在创建文件时勾选上“创建界面”选项即可
二.对话框QDialog
对话框是GUI程序中不可或缺的组成部分,很多不能或者不适合放入主窗口的功能组件都必须放在对话框中设置,对话框通常会是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互
对话框分为模态对话框和非模态对话框
- 模态对话框,是会阻塞同一应用程序中其他窗口的输入
- 非模态对话框,例如查找对话框,在显示查找对话框的同时,还能继续对记事本的内容进行编辑
1.自定义消息框
1.1模态对话框
其模态对话框分为两种一种为程序级别的,另一种是窗口级别的
QDialog dialog;
dialog.setWindowTitle(tr("hello"));
//创建程序级别
dialog.exec();
//窗口级别
dialog.open();
1.2非模态对话框
//这样对话框只会一闪而过,因为show()函数不会阻塞当前线程,所有采用动态申请
//QDialog dialog;
QDialog *dialog = new QDialog;
//用于自动销毁对话框
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->setWindowTitle(tr("hello"));
dialog->show();
2.标准对话框
在Qt中内置了一系列对话框,简化了开发
- QColorDialog:选择颜色
- QFileDialog:选择文件或者目录
- QFontDialog:选择字体
- QInputDialog:允许用户输入一个值,并返回其值
- QMessageBox:模态对话框,用于显示信息,询问问题等
//打开一个文件,方法的参数为父类对象指针,文件对话框的标题,打开文件路径,文件过滤器
QFileDialog::getOpenFileName(this,tr("打开文件"),"./",tr("Images (*.png *.xpm *jpg);;Text (*.txt)"));