继承关系如下:
默认外观分别如下(win7,与上述顺序对应):
可看出,都是由一个可编辑的文本框及右端小箭头组成
————————————————————————————————————————————————————————————
QAbstractSpinBox
属性简单解释如下:
Properties
公有函数如下:
- QAbstractSpinBox(QWidget * parent = 0)
- ~QAbstractSpinBox()
-
- void setAccelerated(bool on)
- void setAlignment(Qt::Alignment flag)
- void setButtonSymbols(ButtonSymbols bs)
- void setCorrectionMode(CorrectionMode cm)
- void setFrame(bool)
- void setKeyboardTracking(bool kt)
- void setReadOnly(bool r)
- void setSpecialValueText(const QString & 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 = 0)
- ~QSpinBox()
-
- void setMaximum(int max)
- void setMinimum(int min)
- void setPrefix(const QString & prefix)
- 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
Signals
上述两信号的不同在于前一个参数单单返回值,而后一个包括前后辍。
————————————————————————————————————————————————————————————
QDoubleSpinBox
其属性如下:
Properties
decimals意思为小数(位数),用于设置精度级别,默认两位小数。
公有函数如下:
- 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
Signals
都是说过的,只列出来好了。
————————————————————————————————————————————————————————————
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)
- void setCalendarWidget(QCalendarWidget * calendarWidget)
- void setCurrentSection(Section section)
- void setCurrentSectionIndex(int index)
- 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)
- 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
Signals
———————————————————————————————————————————————————————————
QDateEdit与QTimeEdit
都继承自QDateTimeEdit
查看它们的函数
QDateEdit:
Public Functions
QTimeEdit:
Public Functions
除上面的构造函数外,就没有其它函数了,继承除外。
这样,QDateEdit与QTimeEdit可认为QDateTimeEdit通过setDisplayFormat(const QString & format)函数设置格式后产生的便捷部件。
事实上,QDateEdit与QTimeEdit也可以能过继承来的setDisplayFormat()函数设置成QDateTimeEdit的样子。
似乎这两个有点多余