继承关系如下:
默认外观分别如下(win7,与上述顺序对应):可看出,都是由一个可编辑的文本框及右端小箭头组成
————————————————————————————————————————————————————————————
QAbstractSpinBox
属性简单解释如下:
Properties
|
|
-
QAbstractSpinBox(QWidget * parent =
0)
-
~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 | 不显示 |
Constant | Value | Description |
---|---|---|
QAbstractSpinBox::CorrectToPreviousValue | 0 | 恢复成上一值(默认) |
QAbstractSpinBox::CorrectToNearestValue | 1 | 取一个最近值. |
QSpinBox
与上述抽象类相对,多出了以下外观属性:
Properties
|
|
少于10时,如设置成3时,就成:0,1,2,10,11,12……
公有函数如下:
-
QSpinBox(QWidget * parent =
0)
-
~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(
10,
30);
-
ui->spinBox->setSingleStep(
5);
-
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
|
公有函数如下:
-
Public Functions
-
QDoubleSpinBox
(QWidget * parent = 0)
-
~
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 = 0)
-
QDateTimeEdit
(const QDateTime & datetime, QWidget * parent = 0)
-
QDateTimeEdit
(const QDate & date, QWidget * parent = 0)
-
QDateTimeEdit
(const QTime & time, QWidget * parent = 0)
-
~
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
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. |
槽与信号比较简单,以为只列出:
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的样子。
似乎这两个有点多余