一个对话框dlg上有个combobox,我又做了一个lineedit,希望用lineedit输入字符串来在combobox中查找我想要的项,结果现在有这么个问题,是可以查找到合适的项,但当我点dlg上的ok按钮时,combobox的值没有被传进去,就是---不是我查找到的那项,(不知道大家是否听明白了)就是说combobox中当前你看到的是你想要的那项,但点ok之后在程序中你收到的combobox值不是那个,除非你是用鼠标自己在combobox中选择一下,否则无效,虽然你能看见combobox当前显示的是你想要的那项
相关代码:
在用lineedit查找你想要的项的时候,找到匹配的后:
pCtrl->setCurrentItem(i);//pCtrl 是qcombobox的指针
QApplication::postEvent(pCtrl, new QMouseEvent(QEvent::MouseButtonPress,pt, 1,Qt::LeftButton));// QPoint pt = pCtrl->pos()这句懂的吧 不说了
按钮ok 的槽函数中:
done(QDialog::Accepted);
呵呵,我表达能力不够,再说遍--------就是=====除非用鼠标点combobox中的项目,才能将你想要的那项传入程序,用我上述的setCurrentItem postEvent 之后,qcombobox中当前显示的已经是我想要的,可是ok之后还是不是那个,非得选出来了,还得用鼠标再点一次,这样才能传进去!有不明白的欢迎大家再问我 呵呵 msn:
yangyu_caca@hotmail.com 大家多多帮忙啊