默认外观分别如下(win7,与上述顺序对应):

可看出,都是由一个可编辑的文本框及右端小箭头组成

QAbstractSpinBox

属性简单解释如下:

Properties

公有函数如下:

    QAbstractSpinBox(QWidget * parent = )
~QAbstractSpinBox()
//下方为设置部分
void setAccelerated(bool on)//设置加速开关,默认关。开启时,长按右端小箭头,值的增大速度由慢变快,适合值的大范围变化
void setAlignment(Qt::Alignment flag)//对齐方式,默认左对齐,参数枚举型,有 Qt::AlignLeft, Qt::AlignRight, 和 Qt::AlignHCenter.
void setButtonSymbols(ButtonSymbols bs)//右方上下箭头样式,默认图中的样式,也可以是加减号,可选枚举值见下方
void setCorrectionMode(CorrectionMode cm)//纠正模式,用户输入非法字符时调用,有恢复前一值及取一个最接近的值,默认前者,枚举值见下方
void setFrame(bool)
void setKeyboardTracking(bool kt)//按键追踪,默认true,此时,当用户输入的值变化时,信号valueChanged()不断发出,false时,失去焦点或点击箭头时才发出
void setReadOnly(bool r)//只读,不可编辑
void setSpecialValueText(const QString & txt)//设置一个特殊值,经实验,当设置一个变化值0-100,变化时,当最后值为0时,却不显示0,而显示这个txt,用于让应用程序判断哪个值合适……
void setWrapping(bool w)//设置循环,值增长到最大时,自动跳到最小值,返之亦然
//下方为取值部分,与上述对应
bool isAccelerated() const
Qt::Alignment alignment() const
ButtonSymbols buttonSymbols() const
CorrectionMode correctionMode() const
bool hasFrame() const
bool keyboardTracking() const
bool isReadOnly() const
QString specialValueText() const
bool wrapping() const
//其它功能
QString text() const//取得文本框内所有字符
bool hasAcceptableInput() const
void interpretText()
virtual void fixup(QString & input) const
virtual void stepBy(int steps)
virtual QValidator::State validate(QString & input, int & pos) const//用于判断输入是否满足正则,用于被重载
 

按钮样式枚举值:enum QAbstractSpinBox::ButtonSymbols

QAbstractSpinBox::UpDownArrows 0 上下箭头
QAbstractSpinBox::PlusMinus 1 +与-
QAbstractSpinBox::NoButtons 2 不显示

纠正模式枚举值:enum QAbstractSpinBox::CorrectionMode

Constant Value Description
QAbstractSpinBox::CorrectToPreviousValue 0 恢复成上一值(默认)
QAbstractSpinBox::CorrectToNearestValue 1 取一个最近值.

————————————————————————————————————————————————————————————

QSpinBox

与上述抽象类相对,多出了以下外观属性:

Properties

displayIntegerBase比较特殊,用于改变基本显示字符。它默认值为10,即我们常用的数字0-9,这时,值变化和我们常用的数字无差别。如果设置这个值成13,则进入旋转的基本字符除0-9外,增加了a,b,c,共13个,这样,值的变化为:0,1,2,3,4,5,6,7,8,9,1a,1b,1c,10,11……19,2a,2b,2c,20,21………

少于10时,如设置成3时,就成:0,1,2,10,11,12……

公有函数如下:

QSpinBox(QWidget * parent = )
~QSpinBox() void setMaximum(int max)//设置最大值
void setMinimum(int min)
void setPrefix(const QString & prefix)//加前辍,如让它显示 “值 10 元”,值即是前辍,元是后辍
void setSuffix(const QString & suffix)//加后辍
void setRange(int minimum, int maximum)//设置范围
void setSingleStep(int val)//设步长,每点一次按钮改变的值(在原基础上加上或减去该值)
void setDisplayIntegerBase(int base) int maximum() const
int minimum() const
QString prefix() const
int singleStep() const
QString suffix() const
int value() const
QString cleanText() const
int displayIntegerBase() const

示例代码如下:

    ui->spinBox->setRange(,);
ui->spinBox->setSingleStep();
ui->spinBox->setPrefix("值");
ui->spinBox->setSuffix("元");
qDebug()<<"value()返回值:"<<ui->spinBox->value();
qDebug()<<"cleanText()返回值:"<<ui->spinBox->cleanText();

输出:

value()返回值: 10

cleanText()返回值: "10"

返回值的类型不同

Public Slots

void setValue(int val)

Signals

void valueChanged(int i)
void valueChanged(const QString & text)

上述两信号的不同在于前一个参数单单返回值,而后一个包括前后辍。

————————————————————————————————————————————————————————————

QDoubleSpinBox

其属性如下:

Properties

decimals意思为小数(位数),用于设置精度级别,默认两位小数。

公有函数如下:

Public Functions
QDoubleSpinBox(QWidget * parent = )
~QDoubleSpinBox()
QString cleanText() const
int decimals() const
double maximum() const
double minimum() const
QString prefix() const
void setDecimals(int prec)
void setMaximum(double max)
void setMinimum(double min)
void setPrefix(const QString & prefix)
void setRange(double minimum, double maximum)
void setSingleStep(double val)
void setSuffix(const QString & suffix)
double singleStep() const
QString suffix() const
virtual QString textFromValue(double value) const
double value() const
virtual double valueFromText(const QString & text) const

Public Slots

void setValue(double val)

Signals

void valueChanged(double d)
void valueChanged(const QString & text)

都是说过的,只列出来好了。
————————————————————————————————————————————————————————————

QDateTimeEdit

它的文本框默认分为六个部分(sections),“2000/1/1 0:00:00”,即“年/月/日  时:分:秒”六部分。

各部分枚举值

enum QDateTimeEdit::Section
flags QDateTimeEdit::Sections

Constant Value
QDateTimeEdit::NoSection无 0x0000
QDateTimeEdit::AmPmSection上午Am或下午Pm 0x0001
QDateTimeEdit::MSecSection毫秒 0x0002
QDateTimeEdit::SecondSection秒 0x0004
QDateTimeEdit::MinuteSection分 0x0008
QDateTimeEdit::HourSection时 0x0010
QDateTimeEdit::DaySection日 0x0100
QDateTimeEdit::MonthSection月 0x0200
QDateTimeEdit::YearSection年 0x0400

属性如下:

Public Functions  

QDateTimeEdit(QWidget * parent = )
QDateTimeEdit(const QDateTime & datetime, QWidget * parent = )
QDateTimeEdit(const QDate & date, QWidget * parent = )
QDateTimeEdit(const QTime & time, QWidget * parent = )
~QDateTimeEdit() void setCalendarPopup(bool enable)//设置一个下拉列表式的日历选择小部件,如下图1
void setCalendarWidget(QCalendarWidget * calendarWidget)//可用这个加入一个自定义的日历
void setCurrentSection(Section section)//将光标转移到某一部分,用以改变该值
void setCurrentSectionIndex(int index)//与上述功能相同,通过索引时,第一部分索引值为0
void setDateRange(const QDate & min, const QDate & max)//设置日期范围
void setTimeRange(const QTime & min, const QTime & max)//设置时间范围
void setDateTimeRange(const QDateTime & min, const QDateTime & max)//同时设置以上两种
void setMaximumDate(const QDate & max)//设置最大日期,设置范围了,就不需要了
void setMaximumDateTime(const QDateTime & dt)
void setMaximumTime(const QTime & max)
void setMinimumDate(const QDate & min)
void setMinimumDateTime(const QDateTime & dt)
void setMinimumTime(const QTime & min)
void setDisplayFormat(const QString & format)//设置显示格式,见下方说明3
void setSelectedSection(Section section)
void setTimeSpec(Qt::TimeSpec spec)
void clearMaximumDate()//清除……
void clearMaximumDateTime()
void clearMaximumTime()
void clearMinimumDate()
void clearMinimumDateTime()
void clearMinimumTime() bool calendarPopup() const
QCalendarWidget * calendarWidget() const
Section currentSection() const
int currentSectionIndex() const
QDate date() const
QTime time() const
QDateTime dateTime() const
QString displayFormat() const
QDate maximumDate() const
QDateTime maximumDateTime() const
QTime maximumTime() const
QDate minimumDate() const
QDateTime minimumDateTime() const
QTime minimumTime() const
Sections displayedSections() const
Section sectionAt(int index) const
int sectionCount() const
QString sectionText(Section section) const
Qt::TimeSpec timeSpec() const

1,setCalendarPopup(true);效果,右方箭头也变成下拉列表框(默认是没有弹出来的……)

2,enum Qt::TimeSpec

Constant Value Description
Qt::LocalTime 0 Locale dependent time (Timezones and Daylight Savings Time).
Qt::UTC 1 协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC。
Qt::OffsetFromUTC 2 An offset in seconds from Coordinated Universal Time.
Qt::TimeZone 3 A named time zone using a specific set of Daylight Savings rules.

3,displayFormat 控件文本框内日期时间的显示格式,例如默认的格式可以这样描述 "yyyy/MM/dd hh:mm:ss",从而显示为上图中的那样,用一些特殊的字符代表日期时间的各部分,具体见点击打开链接

槽与信号比较简单,以为只列出:

Public Slots

void setDate(const QDate & date)
void setDateTime(const QDateTime & dateTime)
void setTime(const QTime & time)

Signals

void dateChanged(const QDate & date)
void dateTimeChanged(const QDateTime & datetime)
void timeChanged(const QTime & time)

———————————————————————————————————————————————————————————

QDateEdit与QTimeEdit

都继承自QDateTimeEdit

查看它们的函数

QDateEdit:

Public Functions

  QDateEdit(QWidget * parent = 0)
  QDateEdit(const QDate & date, QWidget * parent = 0)
  ~QDateEdit()

QTimeEdit:

Public Functions

  QTimeEdit(QWidget * parent = 0)
  QTimeEdit(const QTime & time, QWidget * parent = 0)
  ~QTimeEdit()

除上面的构造函数外,就没有其它函数了,继承除外。

这样,QDateEdit与QTimeEdit可认为QDateTimeEdit通过setDisplayFormat(const QString & format)函数设置格式后产生的便捷部件。

事实上,QDateEdit与QTimeEdit也可以能过继承来的setDisplayFormat()函数设置成QDateTimeEdit的样子。

Qt Widgets——抽象旋转框及其继承类的更多相关文章

  1. Qt Widgets——抽象按钮及其继承类

    QAbstractButton是有关“按钮”的基类 描述了一个按钮应该具有的组成.它的公有函数如下: QAbstractButton(QWidget * parent = ) ~QAbstractBu ...

  2. Qt Widgets——抽象滑块及其继承类

    三个可视类的默认外观分别如下(win7):它们的滑块都处于最小值0处. 理解QAbstractSlider时 可将它想成就是QScrollBar(该小部件的外观比较多地拥有QAbstractSlide ...

  3. Qt Widgets——主窗口及其主要组成部分

    Main Window and Related Classes QAction 动作类,用于当做一个菜单项或工具项插入菜单或工具栏 QActionGroup 动作组,用于管理多个动作,设置它们之间的互 ...

  4. Qt Widgets、QML、Qt Quick的区别

    Qt Widgets.QML.Qt Quick的区别 简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1. ...

  5. Qt之自定义检索框

    1.效果展示 今天这篇文章主要讲解的是自定义搜索框,不仅仅支持搜索,而且可以支持搜索预览,具体请看效果图1.网上也有一些比较简单明了的自定义搜索框,比如Qt之自定义搜索框,讲的也比较详细,不过本文的侧 ...

  6. Qt布局管理: 停靠窗口QDockWidget类(纯代码实现)

    转载:好儿郎~志在四方 详细描述: QDockWidget类提供了一个窗体部件,其可以停靠在QMainWindow,或其本身作为一个在桌面上的顶级窗口(也就是父窗体). QDockWidget类提供了 ...

  7. PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)

    PHP面向对象三大特点学习 学习目标:充分理解抽象.封装.继承.多态   面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和 ...

  8. Qt之等待提示框(QPropertyAnimation)

    简述 之前分享过QLabel可以通过QMovie播放gif图片,可以实现等待提示框,今天主要使用动画QPropertyAnimation来进行实现! 数据加载的时候,往往都需要后台线程进行数据请求,而 ...

  9. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

随机推荐

  1. python redis 操作

    1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建,存在则修改 r.set('name', 'z ...

  2. idea 启动时报 error:java 无效的源发行版

    说白了就是编译的版本不符合,有的地方是jdk1.7 有的地方是jdk1.8 所以你只要每个地方都保持一致就行. 每个地方!! 每个地方!! 每个地方!! 重要的设置说三遍! 以jdk1.7为例 fil ...

  3. Eclipse添加EGIT方法

    1. 安装EGIT, 其中一个方法: 2. 新建javaweb项目,测试git的使用. l  File > Team > Share Project 选择GIT 如何选择不了,则选择创建c ...

  4. spring框架 AOP核心详解

    AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子. 一 AOP的基本概念 (1)Asp ...

  5. pip切换国内源(解决pipenv lock特别慢)

    切换方法参考https://blog.csdn.net/chenghuikai/article/details/55258957 实测,确实解决了pipenv这个问题,否则只能--skip-lock. ...

  6. lua --- Module

    首先需要明白,一般情况下,我们的定义的lua模块的文件与模块名(其实就是table的名字)是一致的,当然,不一致代码也是可以编译的(亲测),之所以这样,本人认为是为了实际项目中管理的方便.以下是定义模 ...

  7. linux中tar命令(打包、压缩、解压)、zip和unzip、rar多种压缩文件

    一.名词解释 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文件进行压缩,这 ...

  8. 日常英语---十一、MapleStory/Monsters/Level 201-210(Dark Demon Eagle Rider)

    日常英语---十一.MapleStory/Monsters/Level 201-210(Dark Demon Eagle Rider) 一.总结 一句话总结:骑着鹰的快速飞行的恶魔,进入地图后跟着你. ...

  9. Python 编程快速上手 第十五章 保持时间,计划任务和启动程序

    前言 这一章节的主要内容是: 处理时间类型的数据(使用python 的两个模块: time 和 datetime 来处理) 创建多个线程 (使用 threading 模块来创建多个线程) 进行多个进程 ...

  10. spring cloud: Hystrix(三):健康指数 health Indicator

    spring cloud: Hystrix(三):健康指数 health Indicator ribbon+hystrix 当使用Hystrix时(spring-cloud-starter-hystr ...