Qt模块化笔记之Qt Widgets——抽象旋转框及其继承类
来源:互联网 发布:西工大编程 编辑:程序博客网 时间:2024/06/06 07:49
继承关系如下:
- QAbstractSpinBox
- QDateTimeEdit
- QDateEdit
- QTimeEdit
- QDoubleSpinBox
- QSpinBox
- QDateTimeEdit
可看出,都是由一个可编辑的文本框及右端小箭头组成
————————————————————————————————————————————————————————————
QAbstractSpinBox
属性简单解释如下:
Properties
- accelerated : bool加速
- acceptableInput : const bool接受输入
- alignment : Qt::Alignment对齐方式
- buttonSymbols : ButtonSymbols右端按钮样式
- correctionMode :纠正模式 CorrectionMode
- frame : bool
- keyboardTracking : bool按键追踪
- readOnly : bool只读
- specialValueText : QString特输值文本
- text : const QString包括前后辍的文本框中文本
- wrapping : bool首尾相接,循环
QAbstractSpinBox(QWidget * parent = 0)~QAbstractSpinBox()//下方为设置部分voidsetAccelerated(bool on)//设置加速开关,默认关。开启时,长按右端小箭头,值的增大速度由慢变快,适合值的大范围变化voidsetAlignment(Qt::Alignment flag)//对齐方式,默认左对齐,参数枚举型,有 Qt::AlignLeft, Qt::AlignRight, 和 Qt::AlignHCenter.voidsetButtonSymbols(ButtonSymbols bs)//右方上下箭头样式,默认图中的样式,也可以是加减号,可选枚举值见下方voidsetCorrectionMode(CorrectionMode cm)//纠正模式,用户输入非法字符时调用,有恢复前一值及取一个最接近的值,默认前者,枚举值见下方voidsetFrame(bool)voidsetKeyboardTracking(bool kt)//按键追踪,默认true,此时,当用户输入的值变化时,信号valueChanged()不断发出,false时,失去焦点或点击箭头时才发出voidsetReadOnly(bool r)//只读,不可编辑voidsetSpecialValueText(const QString & txt)//设置一个特殊值,经实验,当设置一个变化值0-100,变化时,当最后值为0时,却不显示0,而显示这个txt,用于让应用程序判断哪个值合适……voidsetWrapping(bool w)//设置循环,值增长到最大时,自动跳到最小值,返之亦然//下方为取值部分,与上述对应boolisAccelerated() constQt::Alignmentalignment() constButtonSymbolsbuttonSymbols() constCorrectionModecorrectionMode() constboolhasFrame() constboolkeyboardTracking() constboolisReadOnly() constQStringspecialValueText() constboolwrapping() const//其它功能QStringtext() const//取得文本框内所有字符boolhasAcceptableInput() constvoidinterpretText()virtual voidfixup(QString & input) constvirtual voidstepBy(int steps)virtual QValidator::Statevalidate(QString & input, int & pos) const//用于判断输入是否满足正则,用于被重载
按钮样式枚举值:enum QAbstractSpinBox::ButtonSymbols
QSpinBox
与上述抽象类相对,多出了以下外观属性:
Properties
- cleanText : const QString去除前后辍及空白字符后的文本
- displayIntegerBase : int
- maximum : int
- minimum : int
- prefix : QString前辍
- singleStep : int单步步长
- suffix : QString后辍
- value : int当前值
少于10时,如设置成3时,就成:0,1,2,10,11,12……
公有函数如下:
QSpinBox(QWidget * parent = 0)~QSpinBox()voidsetMaximum(int max)//设置最大值voidsetMinimum(int min)voidsetPrefix(const QString & prefix)//加前辍,如让它显示 “值 10 元”,值即是前辍,元是后辍voidsetSuffix(const QString & suffix)//加后辍voidsetRange(int minimum, int maximum)//设置范围voidsetSingleStep(int val)//设步长,每点一次按钮改变的值(在原基础上加上或减去该值)voidsetDisplayIntegerBase(int base)intmaximum() constintminimum() constQStringprefix() constintsingleStep() constQStringsuffix() constintvalue() constQStringcleanText() constintdisplayIntegerBase() 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
voidsetValue(int val)Signals
voidvalueChanged(int i)voidvalueChanged(const QString & text)上述两信号的不同在于前一个参数单单返回值,而后一个包括前后辍。————————————————————————————————————————————————————————————
QDoubleSpinBox
其属性如下:
Properties
- cleanText : const QString
- decimals : int
- maximum : double
- minimum : double
- prefix : QString
- singleStep : double
- suffix : QString
- value : double
公有函数如下:
Public FunctionsQDoubleSpinBox(QWidget * parent = 0)~QDoubleSpinBox()QStringcleanText() constintdecimals() constdoublemaximum() constdoubleminimum() constQStringprefix() constvoidsetDecimals(int prec)voidsetMaximum(double max)voidsetMinimum(double min)voidsetPrefix(const QString & prefix)voidsetRange(double minimum, double maximum)voidsetSingleStep(double val)voidsetSuffix(const QString & suffix)doublesingleStep() constQStringsuffix() constvirtual QStringtextFromValue(double value) constdoublevalue() constvirtual doublevalueFromText(const QString & text) const
Public Slots
voidsetValue(double val)Signals
voidvalueChanged(double d)voidvalueChanged(const QString & text)都是说过的,只列出来好了。————————————————————————————————————————————————————————————
QDateTimeEdit
它的文本框默认分为六个部分(sections),“2000/1/1 0:00:00”,即“年/月/日 时:分:秒”六部分。
各部分枚举值
enum QDateTimeEdit::Section
flags QDateTimeEdit::Sections
属性如下:
- calendarPopup : bool 弹出一个日历选择日期
- currentSection : Section当前光标所属部分,如属日期的”年“部分
- currentSectionIndex : int当前部分的索引
- date : QDate
- dateTime : QDateTime
- displayFormat : QString显示格式
- displayedSections : const Sections
- maximumDate : QDate
- maximumDateTime : QDateTime
- maximumTime : QTime
- minimumDate : QDate
- minimumDateTime : QDateTime
- minimumTime : QTime
- sectionCount : const int
- time : QTime
- timeSpec : Qt::TimeSpec具体时间种类time specific,见下方枚举值2
Public FunctionsQDateTimeEdit(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()voidsetCalendarPopup(bool enable)//设置一个下拉列表式的日历选择小部件,如下图1voidsetCalendarWidget(QCalendarWidget * calendarWidget)//可用这个加入一个自定义的日历voidsetCurrentSection(Section section)//将光标转移到某一部分,用以改变该值voidsetCurrentSectionIndex(int index)//与上述功能相同,通过索引时,第一部分索引值为0voidsetDateRange(const QDate & min, const QDate & max)//设置日期范围voidsetTimeRange(const QTime & min, const QTime & max)//设置时间范围voidsetDateTimeRange(const QDateTime & min, const QDateTime & max)//同时设置以上两种voidsetMaximumDate(const QDate & max)//设置最大日期,设置范围了,就不需要了voidsetMaximumDateTime(const QDateTime & dt)voidsetMaximumTime(const QTime & max)voidsetMinimumDate(const QDate & min)voidsetMinimumDateTime(const QDateTime & dt)voidsetMinimumTime(const QTime & min)voidsetDisplayFormat(const QString & format)//设置显示格式,见下方说明3voidsetSelectedSection(Section section)voidsetTimeSpec(Qt::TimeSpec spec)voidclearMaximumDate()//清除……voidclearMaximumDateTime()voidclearMaximumTime()voidclearMinimumDate()voidclearMinimumDateTime()voidclearMinimumTime()boolcalendarPopup() constQCalendarWidget *calendarWidget() constSectioncurrentSection() constintcurrentSectionIndex() constQDatedate() constQTimetime() constQDateTimedateTime() constQStringdisplayFormat() constQDatemaximumDate() constQDateTimemaximumDateTime() constQTimemaximumTime() constQDateminimumDate() constQDateTimeminimumDateTime() constQTimeminimumTime() constSectionsdisplayedSections() constSectionsectionAt(int index) constintsectionCount() constQStringsectionText(Section section) constQt::TimeSpectimeSpec() const
2,enum Qt::TimeSpec
槽与信号比较简单,以为只列出:
Public Slots
voidsetDate(const QDate & date)voidsetDateTime(const QDateTime & dateTime)voidsetTime(const QTime & time)Signals
voiddateChanged(const QDate & date)voiddateTimeChanged(const QDateTime & datetime)voidtimeChanged(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模块化笔记之Qt Widgets——抽象旋转框及其继承类
- Qt模块化笔记之Qt Widgets——抽象按钮及其继承类
- Qt模块化笔记之Qt Widgets——抽象滑块及其继承类
- Qt模块化笔记之Qt Widgets——日历类
- Qt Widgets——抽象按钮及其继承类
- Qt模块化笔记之Qt Widgets——主窗口及其主要组成部分
- Qt模块化笔记之Qt Widgets——动作类与小部件菜单项
- Qt模块化笔记之Qt Widgets——认识小部件
- Qt模块化笔记之Qt Widgets——子区域和子窗口
- Qt模块化笔记之Qt Widgets——菜单和菜单栏
- Qt模块化笔记之Qt Widgets——工具栏和状态栏
- Qt模块化笔记之core——容器类归纳
- Qt模块化笔记之core——容器类归纳
- Qt Widgets——主窗口及其主要组成部分
- Qt模块化笔记之sql——前期准备
- Qt模块化笔记之sql——连接数据库
- Qt模块化笔记之sql——执行sql语句
- Qt模块化笔记之sql——事务处理的实现
- jsp:useBean 中type、class和beanName
- 黑马程序员-- 十、IO
- Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
- Excel中Match()函数使用方法
- qemu-kvm学习资料
- Qt模块化笔记之Qt Widgets——抽象旋转框及其继承类
- 正向动力学与反向动力学
- 【Angular】Controller用来初始化作用域Scope === ng-init
- float:center
- android 语音识别
- 编程趋势
- ACM HDOJ 1272 (小希的迷宫)
- Windows桌面操作系统:用户体验观点
- const int &x和int const &x有何区别