关于QComboBox调用clear()崩溃的问题和解决办法


今天使用QComboBox调用clear()方法来清除下拉选项,确无缘无故的崩溃了,调试到QComboBox调用clear()方法这一语句时崩溃的,很诡异。

经过资料查找和分析,得出错误处,在以前调用clear()方法时没有问题,但加入了connect(qcombobox, SIGNAL(currentIndexChanged(int)), this, SLOT(OnComboIndexChanged(int)));这句时,此时再调用clear()方法,就会崩溃。

解决办法是在调用clear()方法时先调用disconnect(qcombobox, SIGNAL(currentIndexChanged(int)), this, SLOT(OnComboIndexChanged(int)));

在调用完clear()方法后再次调用connect(qcombobox, SIGNAL(currentIndexChanged(int)), this, SLOT(OnComboIndexChanged(int)));

使用的qt版本是4.7.2,不知道QT为什么会有这样的错误!

你可能感兴趣的:(qt,Signal)