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

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

  一、QComboBox下拉列表框

  1、QComboBox组件简介

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

  2、QComboBox组件属性

  QComboBox组件属性设置选项:

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

  B、font:设置显示的字体

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

  D、currentIndex:当前选项的索引

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

  F、maxCount:ComboBox的最大项目数

  3、QComboBox组件常用成员函数

  QComboBox::QComboBox(QWidget *parent=0,const char *name=0)

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

  QComboBox::QComboBox(bool rw,QWidget *parent=0,const 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::insertItem(const QString &t,int index=-1)

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

 

void QComboBox;:insertItem(const QPixmap &pixmap,int index=-1)

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

void QComboBox::insertItem(const QPixmap &pixmap,const QString &text,int index=-1)

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

  

QString QComboBox::currentText()const

  返回组合框当前项目文本

  

void QComboBox::removeItem(int index)

  删除索引为index处项目

 

void QComboBox::setCurrentItem(int 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 <QtGui/QApplication>
  #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();
  return a.exec();
  }

  二、QFontComboBox组件

  1、QFontComboBox组件简介

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

  2、QFontComboBox组件属性

  QFontComboBox组件属性设置选项:

  A、name:同上

  B、font:同上

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

  D、currentIndex:当前选项的索引

  E、currentFont:当前字体

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

  G、maxCOunt:ComboBox的最大项目数

  3、QFontComboBox组件常用成员函数

  QFontComboBox::QFontComboBox(QWidget *parent=0)

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

  QFont currentFont() const

  返回当前选择的字体

  4、QFontComboBox实例

#include <QtGui/QApplication>
  #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();
  return a.exec();
  }

  三、QLineEdit组件

  1、QLineEdit组件简介

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

  2、QLineEdit组件属性

  QLineEdit组件属性设置选项

  A、name:同上

  B、text:同上

  C、font:同上

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

  3、QLineEdit组件常用成员函数

QLineEidt::QLineEdit(QWidget *parent,const char *name=0)

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

 

QLineEdit::QLineEdit(const QString &contents,QWidget *parent,const char *name=0)

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

  

void QLineEdit::clear()[virtual slot]

  清除行编辑的内容

bool QLineEdit::isReadOnly()const

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

 

void QLineEdit::setReadOnly(bool)[virtual slot]

  设置行编辑的读写属性

  

void QLineEdit::setText(const QString &)[virtual slot]

  设置行编辑的文本

  QString QLineEdit::text()const

  返回行编辑的文本

  四、QTextEdit组件

  1、QTextEdit组件简介

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

  五、QPlainTextEdit组件

  1、QPlainTextEdit组件简介

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

  2、QPlainTextEdit组件常用成员函数

 

QPlainTextEdit::QPlainTextEdit(QWidget *parent=0)
  QPlainTextEdit::QPlainTextEdit(const QString &text,QWidget *parent=0)

  六、QSpinBox组件

  1、QSpinBox组件简介

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

  2、QSpinBox组件属性

  QSpinBox组件属性设置选项

  A、name:同上

  B、font:同上

  C、value:SpinBox默认值

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

  E、minValue:SpinBox的最小值

  F、maxValue:SpinBox的最大值

  G、prefix:SpinBox的前缀字符串

  H、Suffix:SpinBox的后缀字符串

  3、QSpinBox组件常用成员函数

  QSpinBox::QSpinBox(QWidget *parent=0,const char *name=0)

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

 

QSpinBox::QSpinBox(int intValue,int maxValue,int step=1,QWidget *parent=0,const 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::setValue(int value)[virtual slot]

  设置旋转框的值

void QSpinBox::setLineStep(int)

  设置旋转框的增/减量

 

void QSpinBox::setMaxValue(int)

  设置旋转框的最大值

 

void QSpinBox::setMinValue(int)

  设置旋转框的最小值

 

void QSpinBox::setPrefix(const QString &text)[virtual slot]

  设置旋转框的前缀字符

void QSpinBox::setSuffix(const QString &text)[virtual slot]

  设置旋转框的后缀字符

 

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

  信号

  4、QSpinBox实例

 

#include <QtGui/QApplication>
  #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();
  return a.exec();
  }

  七、QDoubleSpinBox组件

  1、QDoubleSpinBox组件简介

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

  2、QDoubleSpinBox组件属性

  QDoubleSpinBox组件属性设置选项

  A、name:同上

  B、font:同上

  C、value:SpinBox默认值

  D、lineStep:同上

  E、minValue:同上

  F、maxValue:同上

  G、prefix:SpinBox的前缀字符

  H、Suffix:SpinBox的后缀字符

  I、decimals:SpinBox的小数位数

  3、QDoubleSpinBox组件常用成员函数

  QDoubleSpinBox::QDoubleSpinBox(QWidget *parent=0)

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

  八、QSlider组件

  1、QSlider组件

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

  2、QSlider组件属性

  QSlider组件属性设置选项

  A、name:同上

  B、font:同上

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

  D、value:滑动条的值

  E、minValue;滑动条的最小值

  F、maxValue:滑动条的最大值

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

  3、QSlider组件常用成员函数

  

QSlider::QSlider(QWidget *parent,const char *name=0)

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

QSlider::QSlider(Qrientation orientation,QWidget *parent,const char *name=0)

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

QSlider::QSlider(int minValue,int maxValue,int pageStep,int value,Orientation orientation,QWidget *parent,const char *name=0)

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

 

void QSlider::setValue(int v)[virtual slot]

  设置该滑动条的值为v

int QSlider::value()const

  返回滑动条的值

  4、QSlider实例

  

#include <QtGui/QApplication>
  #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();
  return a.exec();
  }

  九、QDial组件

  1、QDial组件简介

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

  2、QDial组件属性

  QDial组件属性设置选项

  A、name:同上

  B、font:同上

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

  D、value:表盘的值

  E、minValue:表盘的最小值

  F、maxValue:表盘的最大值

  G、notchTarget:表盘的刻度

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

  3、QDial组件常用成员函数

 

QDial::QDial(QWidget *parent=0,cosnt char *name=0,WFlags f=0)

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

 

QDial::QDial(int minValue,int maxValue,int pageStep,int value,QWidget *parent=0,cosnt char *name=0

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

 

void QDial::setValue(int v)[virtual slot]

  设置仪表盘的值为v

 

int QDial::value()const

  返回表盘的值

 

void QDial::setNotchesVisible(bool visible)

  设置表盘刻度是否可见

  十、QScrollBar滚动条

  1、QScrollBar组件简介

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

  2、QScrollBar组件属性

  QScrollBar组件属性设置选项

  A、name:同上

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

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

  D、value:滑动条的值

  E、minValue:滑动条的最小值

  F、maxValue:滑动条的最大值

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

  3、QScrollBar组件常用成员函数

 

QScrollBar::QScrollBar(QWidget *parent,const char *name=0)

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

 

QScrollBar::QScrollBar(Orientation orientation,QWidget *parent,const char *name=0)

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

  

void QAbstractSlider::setValue(int v)[slot]

  设置该滚动条的值为v

int QAbstractSlider::value()const

  返回滚动条的值

 

void QAbstractSlider::setOrientation(Qt::Orientation)

  设置滚动条的布局样式

  十一、QDateEdit组件

  1、QDateEdit组件简介

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

  2、QDateEdit组件属性

  QDateEdit组件属性设置选项:

  A、name:同上

  B、font:同上

  C、date:显示的日期

  D、minValue:日期的最小值

  E、maxValue:日期的最大字画

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

  3、QDateEdit组件常用成员函数

 

QDateEdit::QDateEdit(QWidget *parent=0,const char *name=0)

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

QDateEdit::QDateEdit(const QDate &date,QWidget *parent=0,const char *name=0)

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

  

QDate QDateEdit::date()const

  返回DateEdit控件的Date值

 

void QDateEdit::setDate(const QDate &date)[virtual]

  设置DateEdit控件Date的值为date

 

void QDateEdit::setDay(int day)[virtual protected]

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

 

void QDateEdit::setMonth(int month)[virtual protected]

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

 

void QDateEdit::setYear(int year)[virtual protected]

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

  十二、QTimeEdit组件

  1、QTimeEdit组件简介

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

  2、QTimeEdit组件属性

  QTimeEdit组件属性设置选项:

  A、name:同上

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

  C、time:显示的日期

  D、minValue:时间的最小值

  E、maxValue:时间的最大值

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

  3、QTimeEdit组件常用成员函数

 

QTimeEdit::QTimeEdit(QWidget *parent=0,const char *name=0)

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

 

QTimeEdit::QTimeEdit(const QTime &time,QWidget *parent=0,const char *name=0)

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

  

QTime QTimeEdit::time()const

  返回TimeEdit控件Time的值

  

void QTimeEdit::setTime(const QTime &time)[virtural]

  设置TimeEdit控件为Time的值time

  

void QTimeEdit::setHour(int h)[virtural protected]

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

void QTimeEdit::setMinute(int m)[virtual protected]

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

 

void QTimeEdit::setSecond(int s)[virtual protected]

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

  十三、QDateTimeEdit组件

  1、QDateTimeEdit组件简介

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

  2、QDateTimeEdit组件属性

  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

  4、QDateTimeEdit实例

 

#include <QtGui/QApplication>
  #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();
  return a.exec();
  }