在Qt界面库中,下拉列表框QComboBox控件是经常使用到的一个控件,下面给出一个例子,在VS2015编程环境中,演示下拉列表框的常用编程方法。
1、实例说明
软件运行界面如下图所示:
主界面使用分割条控件分成了左右两部分,左边部分的第一个控件即为下拉列表框控件,其余控件为对其的常用操作设置,如初始化、清空列表项、插入项、删除项等操作,右边部分为一个文本框(QPlainTextEdit)控件,用以显示当前列表框包含的所有项及其它操作信息等。
下面说下这个例子的详细编程步骤。
2、实例实现过程
(1) 创建Qt项目工程及界面设计
在Visual Sudio 2015中新建一个Qt项目,项目类型选择Qt GUI Application,项目名称为MyDemo。项目创建完毕后,在方案资源管理器中双击“MyDemo.ui”,自动在Qt设计师中打开该界面文件,编辑完成后的主界面如下图所示:
该界面主窗口MyDemo其基类为QWidget,使用分割条控件将其分为左右两部分,左边使用网格进行布局,右边为一文本显示控件,其对象及布局情况如下图所示:
(2) 自定义槽函数的声明
本例仅为演示下拉列表框的常用设置及方法等,功能较为简单,在头文件“MyDemo.h”的“private slots:”区域定义了几个操作按钮的槽函数及两个下拉列表框自带的“当前选项改变时”槽函数,代码如下图所示:
(3) 信号与槽函数的关联实现
在实现文件MyDemo.cpp”中,添加信号与槽函数的关联及槽函数的具体功能实现。其中,在构造函数中完成槽函数的关联,代码如下图所示:
从上面代码最后两个关联语句中可看到,当下拉列表框改变选择项(currentIndexChanged)时,该控件可以传递两种类型的参数,分别为当前项的索引(int类型)及当前项的文字(QString类型)信息。
(4) 列表框的初始化实现
对于列表框的初始化,主要使用addItem函数实现,在该函数中通过传递不同的参数可添加是否带图标的项,并且对于每一个新添加的项也可为其添加一个附加数据(QVariant类型),该附加数据可在后面随意使用,本例中添加了四个学生的名字,并将其分数作为附加数据关联到了项中,代码如下图所示:
(5) 列表框的清除、添加项及删除项实现
对于列表框的清除、添加项及删除项相对较为简单,分别使用Clear、insertItem及removeItem函数即可实现,其代码如下:
(6) 列表框当前选项改变时槽函数实现
如前面所讲,当下拉列表框改变选择项(currentIndexChanged)时,该控件可以传递两种类型的参数,分别为当前项的索引(int类型)及当前项的文字(QString类型),在右侧文本框中显示当前传递的参数数值,其实现代码如下:
(7) 显示列表项信息功能实现
该功能主要实现,右侧的文本框中显示当前列表框中所有的选项及对应的附加数据信息。首先使用count函数得到当前列表框中包含项的个数,然后在for循环中分别使用itemText及itemData函数得到每个选项的文本及对应的附加数据,其中附加数据为QVariant类型,需将其转换为QString类型进行显示,其实现代码如下:
3、总结
该例子对下拉列表框常用的编程功能进行了演示,涉及到了列表框的初始化、清空、插入项、删除项等操作。
大家加关注并私信回复:qt024,可获取该工程的源代码下载。
本文由编码那些事原创,请关注+转发+收藏+点赞,带你一起长知识!