QT开发(十)——QT输入组件

    QT中有十三中输入组件,分别是下拉列表框QComboBox、字体下拉框QFontComboBox、行编辑框QLineEdit、文本编辑框QTextEdit、无格式文本编辑框QPlainTextEdit、整数旋转框QSpinBox、小数旋转框QDoubleSpinBox、时间编辑框QTimeEdit、日期编辑框QDateEdit、日期时间编辑框QDateTimeEdit、表盘QDial、水平滚动条QScrollBar、垂直滚动条QScrollBar、水平滑动条QSlider、垂直滑动条QSlider

一、QComboBox下拉列表框

1QComboBox组件简介

    QComboBox下拉框继承自QWidget,用于有多个选项的下拉框。

2、QComboBox组件属性

    QComboBox组件属性设置选项:

    A、name:该控件对应源代码中的名称

    B、font:设置显示的字体

    C、editable:用来获取或设置一个值,以确定ComboBox的编辑框是否可编辑,值为true是为可编辑,值为false时只读

    D、currentIndex:当前选项的索引

    E、maxVisibleItems:ComboBox可见的最大项目数

    F、maxCount:ComboBox的最大项目数

3QComboBox组件常用成员函数

QComboBox::QComboBoxQWidget *parent = 0const char *name = 0

构造一个名称为name,父对象为parent的ComboBox

QComboBox::QComboBoxbool rwQWidget *parent = 0const char * name = 0

构造一个名称为name,父对象为parent的ComboBox,如果rw是true,则编辑栏可编辑,否则只能选择ComboBox项目之一

void QComboBox::clear()const

删除ComboBox中的所有项目

int QComboBox::count()const

返回ComboBox中的项目数

int QComboBox::currentItem()const

返回ComboBox中当前项目的索引

QString QComboBox::currentText()const

返回组合框的当前项目文本

void QComboBox::insertItemconst QString &tint index = -1

在索引index处插入一个文本为t的项目,如果index是负数,该项目将被追加到末尾

void QComboBox;:insertItemconst QPixmap &pixmapint index = -1

在索引index处插入一个图标为pixmap的项目,如果index为负数,该项目将被追加到末尾

void QComboBox::insertItemconst QPixmap &pixmapconst QString &textint index = -1

在索引index处,插入一个文本为text和图标为pixmap的项目,如果index为负数,该项目将被追加到末尾

QString QComboBox::currentText()const

返回组合框当前项目文本

void QComboBox::removeItemint index

删除索引为index处项目

void QComboBox::setCurrentItemint index[virtual]

把索引index处的项目设为当前项目

void addItem(const QString & text, const QVariant & userData = QVariant())

void addItem(const QIcon & icon, const QString & text, const QVariant & userData = QVariant())

在下拉框最后添加一项

void addItems(const QStringList & texts)

在下拉框最后添加多项

void insertSeparator ( int index )

在序号为index的项前插入分隔线

void setItemText ( int index, const QString & text )

改变序号为index项的文本。

4、QComboBox实例

#include 
#include 
#include 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    QComboBox *combox = new QComboBox(&w);
    combox->addItem("1");
    combox->addItem("2");
    w.show();
    
    return a.exec();
}

二、QFontComboBox组件

1QFontComboBox组件简介

    QFontComboBox字体组合框继承于QComboBox,QFontComboBox字体组合框分为两部分显示:顶部是一个允许输入文本的文本框,下面的列表框则显示字体列表项,但不能选择多项,只能选择其中一项,专门用于字体选择。

2QFontComboBox组件属性

    QFontComboBox组件属性设置选项:

    A、name:同上

    B、font:同上

    C、editable:用来获取或设置一个值,以确定ComboBox的编辑框是否可编辑,值为true时为可编辑,值为false时为只读

    D、currentIndex:当前选项的索引

    E、currentFont:当前字体

    F、maxVisibleItems:ComboBox可见的最大项目数

    G、maxCOunt:ComboBox的最大项目数

3QFontComboBox组件常用成员函数

QFontComboBox::QFontComboBoxQWidget *parent = 0

构造一个父对象为parent的Font ComboBox

QFont currentFont() const

返回当前选择的字体

4QFontComboBox实例

#include 
#include 
#include 
#include 
#include 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    QFontComboBox *fontcom = new QFontComboBox(&w);
    QFont font = fontcom->currentFont();
    qDebug() << font;
    w.show();
    
    return a.exec();
}

三、QLineEdit组件

1QLineEdit组件简介

    QLineEdit组件行编辑是一种常用且比较容易掌握的控件,应用程序主要用它来接收输入文字信息。

2QLineEdit组件属性

    QLineEdit组件属性设置选项

    A、name:同上

    B、text:同上

    C、font:同上

    D、ReadOnly:用来获取或设置一个值,该值指示文本框中的文本是否为只读,值为true时为只读,值为false为可读写

3QLineEdit组件常用成员函数

QLineEidt::QLineEditQWidget *parentconst char *name = 0

构造一个名称为name,父对象为parent的LineEdit

QLineEdit::QLineEditconst QString &contents,QWidget *parentconst char *name = 0

构造一个名称为name,父对象为parent和内容为contents的LineEdit

void QLineEdit::clear()[virtual slot]

清除行编辑的内容

bool QLineEdit::isReadOnly()const

如果行编辑室只读则返回true,否则返回false

 void QLineEdit::setReadOnlybool[virtual slot]

设置行编辑的读写属性

void QLineEdit::setTextconst QString &[virtual slot]

设置行编辑的文本

QString QLineEdit::text()const

返回行编辑的文本

四、QTextEdit组件

1QTextEdit组件简介

    QTextEdit文本编辑组件主要用于输入文本信息或显示文本信息,QTextEdit支持富文本。

五、QPlainTextEdit组件

1QPlainTextEdit组件简介

    QPlainTextEdit控件中文称作“文本编辑“,PlainTextEdit和TextEdit控件只是样式不同,可以通过设置属性来改变样式。

2QPlainTextEdit组件常用成员函数

QPlainTextEdit::QPlainTextEditQWidget *parent = 0

QPlainTextEdit::QPlainTextEditconst QString &textQWidget *parent = 0

六、QSpinBox组件

1QSpinBox组件简介

    QSpinBox整数旋转框继承自QAbstractSpinBox,允许用户通过单击向上/向下按钮来增加/减少当前显示的值,也可以直接输入旋转框的值,如果值是直接输入选择框,一般需要按Enter键确认新值。

2QSpinBox组件属性

    QSpinBox组件属性设置选项

    A、name:同上

    B、font:同上

    C、value:SpinBox默认值

    D、lineStep;使用箭头来改变选择框的值的递增/递减量

    E、minValue:SpinBox的最小值

    F、maxValue:SpinBox的最大值

    G、prefix:SpinBox的前缀字符串

    H、Suffix:SpinBox的后缀字符串

3QSpinBox组件常用成员函数

QSpinBox::QSpinBoxQWidget *parent = 0const char *name = 0

构造一个名称为name,父对象为parent的SpinBox

QSpinBox::QSpinBoxint intValueint maxValueint step = 1QWidget *parent = 0const char *name = 0

构造一个名称为name,父对象为parent,最小值为minValue,最大值为maxValue和增/减量为step的SpinBox

void QSpinBox::stepDown()[virtural slot]

把旋转框的值减少一个lineStep,等同于单击向下按钮

void QSpinBox::stepUp()[virtual slot]

把旋转框的值增加一个lineStep,等于单击向上按钮

QString QSpinBox::text()const

返回旋转框的文本,包括前缀和后缀

int QSpinBox::value()const

返回旋转框的值

void QSpinBox::setValueint value[virtual slot]

设置旋转框的值

void QSpinBox::setLineStepint

设置旋转框的增/减量

void QSpinBox::setMaxValueint

设置旋转框的最大值

void QSpinBox::setMinValueint

设置旋转框的最小值

void QSpinBox::setPrefixconst QString &text[virtual slot]

设置旋转框的前缀字符

void QSpinBox::setSuffixconst QString &text[virtual slot]

设置旋转框的后缀字符

void valueChanged(int i)

void valueChanged(const QString & text)

信号

4、QSpinBox实例

#include 
#include 
#include 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    QSpinBox *spinbox = new QSpinBox(&w);
    spinbox->setSingleStep(2);
    spinbox->setRange(0,100);       //设置变化范围
    spinbox->setSuffix("km");       //设置输出显示后缀
    spinbox->setPrefix("distance:");  //设置输出显示前缀
    spinbox->resize(200,40);        //设置大小
    spinbox->setValue(50);          //设置初始值
    w.show();
    return a.exec();
}

 

七、QDoubleSpinBox组件

1QDoubleSpinBox组件简介

    QDoubleSpinBox小数旋转框,继承自QSpinBox,可以表示小数,其他与QSpinBox功能相同

2QDoubleSpinBox组件属性

    QDoubleSpinBox组件属性设置选项

    A、name:同上

    B、font:同上

    C、value:SpinBox默认值

    D、lineStep:同上

    E、minValue:同上

    F、maxValue:同上

    G、prefix:SpinBox的前缀字符

    H、Suffix:SpinBox的后缀字符

    I、decimals:SpinBox的小数位数

3QDoubleSpinBox组件常用成员函数

QDoubleSpinBox::QDoubleSpinBoxQWidget *parent = 0

构造一个父对象为parent的Double SpinBox

八、QSlider组件

1QSlider组件

    QSlider滑动条继承自QAbstractSlider,有Horizontal/Vertical Slider两种布局方式,两种滑动条布局样式之间可以相互转换,只需改变orientation属性即可。

2QSlider组件属性

    QSlider组件属性设置选项

    A、name:同上

    B、font:同上

    C、lineStep:滑动条值的最小跨度

    D、value:滑动条的值

    E、minValue;滑动条的最小值

    F、maxValue:滑动条的最大值

    G、orientation:滑动条的布局方向,Qt提供Horizontal/Vertical Slider两种选择

3QSlider组件常用成员函数

QSlider::QSliderQWidget *parentconst char *name =0

构造一个名称为name,父对象为parent的Slider

QSlider::QSliderQrientation orientationQWidget *parentconst char *name = 0

构造一个名称为name,父对象为parent,布局方向为orientation的Slider

QSlider::QSliderint minValueint maxValueint pageStepint valueOrientation orientationQWidget *parentconst char *name = 0

构造一个名称为name,父对象为parent,布局方向为orientation,最大值为maxValue,最小值为minValue,页步长为pageStep和值为value的Slider

void QSlider::setValueint v[virtual slot]

设置该滑动条的值为v

int QSlider::value()const

返回滑动条的值

4QSlider实例

#include 
#include 
#include 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    QSlider *slider = new QSlider(Qt::Horizontal, &w);
    slider->setMaximum(100);
    slider->setMinimum(0);
    slider->setValue(50);
    w.show();
    return a.exec();
}

九、QDial组件

1QDial组件简介

    QDial表盘组件继承自QAbstractSlider,可用来描述各式各样的仪表盘样式。

2QDial组件属性

    QDial组件属性设置选项

    A、name:同上

    B、font:同上

    C、lineStep:表盘值的最小跨度

    D、value:表盘的值

    E、minValue:表盘的最小值

    F、maxValue:表盘的最大值

    G、notchTarget:表盘的刻度

    H、notchesVisible:是否显示表盘刻度,值为true时显示,否则不显示

3QDial组件常用成员函数

QDial::QDialQWidget *parent = 0cosnt char *name = 0WFlags f = 0

构造一个名称为name,父对象为parent的Dial

QDial::QDialint minValueint maxValueint pageStepint valueQWidget *parent = 0cosnt char *name = 0

构造一个名称为name,父对象为parent,最大值为maxValue,最小值为minValue,步长为pageStep,值为value的Dial

void QDial::setValueint v[virtual slot]

设置仪表盘的值为v

int QDial::value()const

返回表盘的值

void QDial::setNotchesVisible(bool visible)

设置表盘刻度是否可见

十、QScrollBar滚动条

1QScrollBar组件简介

    QScrollBar滚动条继承自QAbstractSlider,提供垂直和水平的布局样式,滚动条可以使用户能够查看比窗口组件能显示较多的内容。

2QScrollBar组件属性

    QScrollBar组件属性设置选项

    A、name:同上

    B、font:设置滑动条上的字体

    C、lineStep:滑动条的最小跨度

    D、value:滑动条的值

    E、minValue:滑动条的最小值

    F、maxValue:滑动条的最大值

    G、orientation:滑动条的布局方向,Qt提供Horizontal/Vertical两种

3QScrollBar组件常用成员函数

QScrollBar::QScrollBarQWidget *parentconst char *name = 0

构造一个名称为name,父对象为parent的ScrollBar

QScrollBar::QScrollBarOrientation orientationQWidget *parentconst char *name = 0

构造一个名称为name,父对象为parent,布局为orientation的ScrollBar

void QAbstractSlider::setValueint v[slot]

设置该滚动条的值为v

int QAbstractSlider::value()const

返回滚动条的值

void QAbstractSlider::setOrientation(Qt::Orientation)

设置滚动条的布局样式

十一、QDateEdit组件

1QDateEdit组件简介

    QDateEdit日期编辑框继承自 QDateTimeEdit,用于编辑和显示日期的组件

2QDateEdit组件属性

    QDateEdit组件属性设置选项:

    A、name:同上

    B、font:同上

    C、date:显示的日期

    D、minValue:日期的最小值

    E、maxValue:日期的最大字画

    F、order:设置日期显示格式,Qt提供的格式有YMD、YDM、DMY

3QDateEdit组件常用成员函数

QDateEdit::QDateEditQWidget *parent = 0const char *name = 0

构造一个名称为name,父对象为parent的DateEdit

QDateEdit::QDateEditconst QDate &dateQWidget *parent = 0const char *name = 0

构造一个名字为name,父对象为parent,当前显示日期为date的DateEdit,

QDate QDateEdit::date()const

返回DateEdit控件的Date值

void QDateEdit::setDateconst QDate &date[virtual]

设置DateEdit控件Date的值为date

void QDateEdit::setDayint day[virtual protected]

设置DateEdit控件Date的Day为day,必须确保day为有效值

void QDateEdit::setMonthint month[virtual protected]

设置DateEdit控件Date的Month为month,必须确保month为有效值

void QDateEdit::setYearint year[virtual protected]

设置DateEdit控件Date的Year为year,必须确保year为有效值

十二、QTimeEdit组件

1QTimeEdit组件简介

    QTimeEdit时间编辑框组件继承自 QDateTimeEdit,用来编辑和显示时间的组件。

2QTimeEdit组件属性

    QTimeEdit组件属性设置选项:

    A、name:同上

    B、font:设置文本框的字体

    C、time:显示的日期

    D、minValue:时间的最小值

    E、maxValue:时间的最大值

    F、display:设置时间显示格式

3QTimeEdit组件常用成员函数

QTimeEdit::QTimeEditQWidget *parent = 0const char *name = 0

构造一个名称为name,父对象为parent的TimeEdit

QTimeEdit::QTimeEditconst QTime &timeQWidget *parent = 0const char *name = 0

构造一个名称为name,父对象为parent,当前显示时间为time的TimeEdit

QTime QTimeEdit::time()const

返回TimeEdit控件Time的值

void QTimeEdit::setTimeconst QTime &time[virtural]

设置TimeEdit控件为Time的值time

void QTimeEdit::setHourint h[virtural protected]

设置TimeEdit控件Time的Hour为h,必须确保h为有效值

void QTimeEdit::setMinuteint m[virtual protected]

设置TimeEdit控件Time的Minute为m,必须确保m为有效值

void QTimeEdit::setSecondint s[virtual protected]

设置TimeEdit控件Time的Second为s,必须确保s为有效值

十三、QDateTimeEdit组件

1QDateTimeEdit组件简介

    QDateTimeEdit日期时间编辑框是一个用来编辑和显示日期和时间的组件,继承自QAbstractSpinBox

2QDateTimeEdit组件属性

    QDateTimeEdit组件属性设置选项:

    A、name:同上

    B、font:设置文本框的字体

    C、datetime:显示的日期和时间

3、QDateTimeEdit主要成员函数

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)

构造函数

void dateChanged(const QDate & date) [signal]

void dateTimeChanged(const QDateTime & datetime) [signal]

void timeChanged(const QTime & time) [signal]

Void setDate(const QDate & date) [slot]

Void setDateTime(const QDateTime & dateTime) [slot]

Void setTime(const QTime & time) [slot]

 

void setDisplayFormat(const QString & format)

设置日期时间的显示格式

QDate date() const

QDateTime dateTime() const

QTime time() const

4QDateTimeEdit实例

#include 
#include 
#include 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    QDateTimeEdit *datetime = new QDateTimeEdit(&w);
    datetime->setTime(QTime::currentTime());
    datetime->setDate(QDate::currentDate());
    w.show();
    return a.exec();
}