在使用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)));
网友评论