《黑马QT视频教程》2020.7.31学习日记

一。模态和非模态对话框
1.模态对话框(即在弹出对话框后只能操作对话框而不能操作原窗口)
(1)创建对话框:QDialog dlg;
(2)设置为模态对话框:dlg.exec();
(3)例如:
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
2.非模态对话框
(1)创建对话框:QDialog dlg;
(2)设置为非模态对话框:dlg.show();
(3)由于dlg为局部变量,在槽函数结束后就释放了,所以对话框不能显示,解决办法(两种):

1)将dlg当作成员:在头文件的public下声明dlg(QDialog dlg;)
2)将dlg指定原函数为父对象(QDialog *p = new QDialog(this);),让其只有在函数释放时才释放,但要注意因为函数中可能会有多次进行声明dlg,将导致内存不断消耗.
3)让其在关闭时就释放(p->setAttribute(Qt::WA _DeleteOnClose);)。

在这里插入图片描述
二。标准对话框和文件对话框
1.关于对话框
(1)创建关于对话框:(父对象,标题,关于对话框的内容)
在这里插入图片描述
2.问题对话框
(1)创建问题对话框(查看帮助文档可知其有Int返回值):(父对象,标题,对话框内容,按钮1,按钮2)
在这里插入图片描述(2)用switch函数判断哪个按钮被按下:
在这里插入图片描述
3.标准文件对话框
(1)创建标准文件对话框(返回字符串):(父对象,标题,要打开文件所在的路径,可以打开的格式)

在这里插入图片描述
(2)由于这个有返回值,可以显示打开文件所在路径,所以可以试着打印路径:
在这里插入图片描述在这里插入图片描述
三。常用控件的使用
1.lineEdit
(1)作用:条形文本输入框
(2)隐藏输入:
在这里插入图片描述
(3)自动补全:

1)创建文本List
2)创建自动补全模块
3)将自动补全功能放入LineEdit中

在这里插入图片描述
2.laber
(1)添加文本
(2)添加图片
(3)添加动画(gif)

四。自定义控件
1.新建一个c++class文件,并选择“basic class”为QWidget,命名classname(如:sinalwidget)
2.在新建的。cpp文件中创建控件(比如QSlider,QSpinBox等):
在这里插入图片描述3.创建布局(QHBoxLayout),并把布局应用于控件:
在这里插入图片描述
4.提升容器
(1)在ui文件中,将一个Widget容器拉入窗口
(2)选中此容器,右键选择“提升为”,然后将刚刚新建的类名称(sinalwidget[在新建的.cpp文件中有])复制到“提升的类名称”,选择“添加”,然后选择“提升”。
5.编译运行:(将两个控件联系起来的功能见视频)
在这里插入图片描述
五。QT样式表(与CSS语法规则几乎一样)
1.按钮的三个状态:(普通,按下pressed,鼠标到达hover)
六。事件
1.事件发生后的处理过程:app.exec()函数在等待事件发生->出现一个事件->事件产生一个对象->对象给到event()函数->将对象给到事件处理器(switch)->判断完后调用真正的事件处理函数(全都是虚函数)。
2.常用事件:keypressevent(鼠标按下),focusevent(鼠标焦点?),wheelevent(滚轮事件),enterevent(进入事件【例如进入按钮的区域】),outevent(离开事件),moveevent(移动事件【例如按住鼠标移动】),closeevent(关闭窗口事件),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值