编程学习
Qt学习09:其他基本小控件
00 分钟
2023-6-12
2023-11-23
type
status
date
slug
summary
tags
category
icon
password
Email
文章首发于我的个人博客:欢迎大佬们来逛逛

QSpinBox

微调框,可以通过点击增加减小或者输入来调整数据。
notion image
继承自:QAbstractSpinBox
同时这个类还具有Double类型的版本。
常用操作:
  1. setRange :设置范围
  1. setValue :设置初始值
  1. setWrapping : 设置可以重复,即到达最大值之后可以到达最小值
  1. setSingleStep : 设置每次的移动步数
  1. setPrefix :设置前缀
可以通过重写 父类的 textFromValue 来自定义数据的类型:
测试如下:

QDateTimeEdit

时间日期显示类,并且还可以自己修改时间与日期
notion image
它也继承自QAbstractSpinBox 本质是一个微调框
常用操作如下:
使用QDateTime::currentDateTime()来获取当前时间日期。
如果我们要做一个钟表,即每时每刻我们的时间都要发生变化,则可以使用一个定时器来对这个控件的显示进行刷新:

QComboBox

这是一个下拉框,可以下拉选择某个内容
notion image
它继承自:QWidget
常用操作:
  1. addItem:添加项目
  1. currentIndex/currentText:获取当前选择的索引或者文本。
  1. insertItem:给定一个索引,在这个位置插入一个新的项目
  1. itemData:返回某个索引所代表的数据
  1. setEditable:可以编辑并且插入
  1. setSizeAdjustPolicy:可以根据调整下拉框的尺寸,取决于QComboBox::SizeAdjustPolicy
  1. setItemData:设置项目所代表的数据。
常用信号:
  1. currentIndexChanged:获取当前选择的项目的索引。
  1. currentTextChanged:获取当前选择的文本
代码:
测试了基本功能,以及可以通过选择某个项目来获得这个项目所代表的数据内容。

QSlider

这是一个滑动条
notion image
它继承自:QAbstractSlider ,一个抽象滑动类。
同样还有QScrollBar和QDial也都是继承自QAbstractSlider 这个抽象类。
他们两个也都是滑动相关的控件。

其构造函数:
我们可以通过Qt::Orientation来指定滑动条的位置:
  1. Qt::Horizontal 是水平的
  1. Qt::Vertical 是竖直的。
基本函数功能:
  1. setRange:设置范围
  1. setTickInterval:设置刻度
  1. setTickPosition:设置刻度所在的位置
测试代码如下:

QRubberBand

设置一个橡皮条拖拽控件。
notion image
它继承自:QWidget
具有以下的基本函数:
  1. move:设置位置,我们使用此函数来确定选中范围的起始位置。
  1. setGeometry:设置选中的范围的矩形区域
  1. shape:显示的样式,使用到QRubberBand::Shape
  1. show:必须调用show方法才会显示出来
如何实现这个选中的功能?
我们需要用到鼠标的事件:
  1. mousePressEvent:鼠标点击时记录起始坐标位置
  1. mouseMoveEvent:鼠标移动时更新矩形区域
  1. mouseReleaseEvent:鼠标松开时矩形消失
具体实现如下:
小案例:
选中矩形区域,并且矩形区域内所有的多选框都被选中
注意判断是否包含的条件:geometrycontains方法
 

评论
  • Twikoo
  • Valine