您的位置:首页 > 编程语言 > Qt开发

Qt之下拉框QComboBox相关signal对比--activated与currentIndexChanged

2014-05-27 20:43 1296 查看


1.函数说明

QComboBox的activated与currentIndexChanged两个Signal都是改变选择时触发的信号,它们分别有两个重载版本,

void activated ( int index )

void activated ( const QString & text )

void currentIndexChanged ( int index )

void currentIndexChanged ( const QString & text )
int类型代表了下拉框被选中项的索引,QString类型代表了下拉框被选中项的内容。


2.信号差异

activated与currentIndexChanged之间有细微的差别:

信号activated:只要单击下拉框,即使所选内容前后没有变化也会触发此信号;

信号currentIndexChanged 是在单击下拉框且当所选内容发生变化时才会触发此信号。


3.Qt5中使用时注意

Qt5的新connect语法中使用这两个信号时需要通过函数指针来指明使用的是重载中的哪一个,Qt4中就不需要了,因为Qt4中Signal需要指明参数类型,如下:

QComboBox*box=new QComboBox(this);

box->addItem("enock1");

box->addItem("enock2");

void(QComboBox::*fp)(int)=&QComboBox::currentIndexChanged;

QObject::connect(box,fp,this,&myWindow::testFun);//void testFun(int);


4.currentTextChanged(const QString & text)

同void currentIndexChanged ( const QString & text )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: