当前位置:   article > 正文

Qt之下拉框QComboBox相关signal对比--activated与currentIndexChanged,主要参考Qt5重载信号的写法_currenttextchanged和actived

currenttextchanged和actived


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 )
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/660989
推荐阅读
相关标签
  

闽ICP备14008679号