Qt——day03

一、自定义控件的封装

  在使用Qt的ui文件搭建界面的时候,工具栏栏中只为我们提供了标准的窗口控件,如果我们想使用自定义控件怎么办?需要我们自己去封装

1.SpinBox 和 HorizontalSlider 结合使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1 目标效果

  SpinBox 和 HorizontalSlider 结合使用,我们希望左边的部件数值发生变化,右边的部件也能一起发生移动;右边的部件移动,左边部件的数值也发生变化。

2. 封装步骤

2.1 在项目中添加新Qt设计师界面类文件

(1)
在这里插入图片描述
(2)
在这里插入图片描述
(3)添加好了新文件后,就会看到:
在这里插入图片描述

2.2 进入设计控件的UI界面

  (1)在 SmallWideget.ui 中将要封装的部件拖拽到本文件窗口,然后做好水平布局,接着裁剪大小。在这里插入图片描述
   SmallWideget.ui文件和对应的窗口是给我们自定义控件使用的,要和项目的 widget.ui 文件分清。相当于就是一个蛋糕店,有做蛋糕的厨房(smallwidget.ui),有展示蛋糕的展厅(widget.ui)。smallwidget.ui 是做控件给 widget.ui 使用的。为了方便说明,在下面的文章中,我会将smallwidget.ui 称为做控件界面,widget.ui 称为使用控件界面。

2.3 使用控件界面使用自定义控件

  如果控件被制作出来了,还有一个问题,在其他的界面如何使用?

  (1)要知道制作的控件是属于哪个类,现在制作的控件是属于Qwidget 类。
在这里插入图片描述
  (2)在使用自定义控件的界面给自定义控件,预留空间。使用和自定义控件属于同一个类的控件去占空间。

  自定义控件是属于 QWiget 类的,那么在使用控件的界面中就用 Widget 这个控件去占位置:如果自定义的控件做好了,就直接放到预留的空间那里就行。
在这里插入图片描述
  注意要属于同一个类的,才能帮占位置。就有点像 上课一样,叫本班同学帮占位置。

  (3)还要将占位置的控件提升为自定义控件的类,然后点击添加:(这个就相当于你说明这个位置是帮谁占的。)
在这里插入图片描述
在这里插入图片描述
  还有一个要注意的地方,这里使用的是全局包含。

  (4)运行使用控件界面,就会出现自定义的控件:(就相当于,占座的人过来上课了)
在这里插入图片描述

2.4 在制作控件的文件中完善控件的功能

  (1)完成 SpinBox 数值变化,水平滑块移动。SpinBox 和水平滑块是两个对象,也是要使用 connect 函数联系起来。

  信号发出者是 SpinBox ,那么要知道 SpinBox 发出什么信号才能够满足需求。SpinBox 的主要作用是值发生变化,查看帮助文档 SpinBox 中也存在这个函数:
在这里插入图片描述

  (2)当值发生变化,就会发出信号,这个函数有重载,所以需要用到函数指针。
在这里插入图片描述
在这里插入图片描述
  (3)右侧滚动,左侧数值发生变化:
在这里插入图片描述

在这里插入图片描述

二、常用的鼠标事件

1.捕获鼠标进入或者离开Label区域

(1)新建 class 文件,要新建一个MyLabel 类,在Label 类的基础上增加新的功能。
在这里插入图片描述
在这里插入图片描述
(2)修改继承的类和包含的头文件,Mylabel 类继承 QLabel 类:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值