type
status
date
slug
summary
tags
category
icon
password
Email
文章首发于我的个人博客:欢迎大佬们来逛逛
QSpinBox
微调框,可以通过点击增加减小或者输入来调整数据。
继承自:
QAbstractSpinBox
同时这个类还具有Double类型的版本。
常用操作:
- setRange :设置范围
- setValue :设置初始值
- setWrapping : 设置可以重复,即到达最大值之后可以到达最小值
- setSingleStep : 设置每次的移动步数
- setPrefix :设置前缀
可以通过重写 父类的
textFromValue
来自定义数据的类型:测试如下:
QDateTimeEdit
时间日期显示类,并且还可以自己修改时间与日期
它也继承自
QAbstractSpinBox
本质是一个微调框常用操作如下:
使用
QDateTime::currentDateTime()
来获取当前时间日期。如果我们要做一个钟表,即每时每刻我们的时间都要发生变化,则可以使用一个定时器来对这个控件的显示进行刷新:
QComboBox
这是一个下拉框,可以下拉选择某个内容
它继承自:
QWidget
常用操作:
- addItem:添加项目
- currentIndex/currentText:获取当前选择的索引或者文本。
- insertItem:给定一个索引,在这个位置插入一个新的项目
- itemData:返回某个索引所代表的数据
- setEditable:可以编辑并且插入
- setSizeAdjustPolicy:可以根据调整下拉框的尺寸,取决于
QComboBox::SizeAdjustPolicy
- setItemData:设置项目所代表的数据。
常用信号:
- currentIndexChanged:获取当前选择的项目的索引。
- currentTextChanged:获取当前选择的文本
代码:
测试了基本功能,以及可以通过选择某个项目来获得这个项目所代表的数据内容。
QSlider
这是一个滑动条。
它继承自:
QAbstractSlider
,一个抽象滑动类。同样还有QScrollBar和QDial也都是继承自
QAbstractSlider
这个抽象类。他们两个也都是滑动相关的控件。
其构造函数:
我们可以通过Qt::Orientation来指定滑动条的位置:
- Qt::Horizontal 是水平的
- Qt::Vertical 是竖直的。
基本函数功能:
- setRange:设置范围
- setTickInterval:设置刻度
- setTickPosition:设置刻度所在的位置
测试代码如下:
QRubberBand
设置一个橡皮条拖拽控件。
它继承自:
QWidget
具有以下的基本函数:
- move:设置位置,我们使用此函数来确定选中范围的起始位置。
- setGeometry:设置选中的范围的矩形区域
- shape:显示的样式,使用到QRubberBand::Shape
- show:必须调用show方法才会显示出来
如何实现这个选中的功能?
我们需要用到鼠标的事件:
- mousePressEvent:鼠标点击时记录起始坐标位置
- mouseMoveEvent:鼠标移动时更新矩形区域
- mouseReleaseEvent:鼠标松开时矩形消失
具体实现如下:
小案例:
选中矩形区域,并且矩形区域内所有的多选框都被选中:
注意判断是否包含的条件:
geometry
的contains
方法- 作者:Yuleo
- 链接:https://www.helloylh.com/article/qt9
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。