C++ 如果用户单击组合框,则动态填充项目
在Qt QComboBox中,没有单击信号来获取要覆盖的插槽。但是我需要动态地填充组合框项目。也就是说,我需要检查项目并更新组合框“所有项目”列表(当用户更改其他项目时,会对列表产生影响)。对于这个复杂的问题,我们可以在qt中使用事件过滤器方法。尝试返回false以执行进一步处理的所有操作C++ 如果用户单击组合框,则动态填充项目,c++,qt,qcombobox,C++,Qt,Qcombobox,在Qt QComboBox中,没有单击信号来获取要覆盖的插槽。但是我需要动态地填充组合框项目。也就是说,我需要检查项目并更新组合框“所有项目”列表(当用户更改其他项目时,会对列表产生影响)。对于这个复杂的问题,我们可以在qt中使用事件过滤器方法。尝试返回false以执行进一步处理的所有操作 bool QtMyWindow::eventFilter(QObject *f_object, QEvent *f_event){ if(f_object == ui->comboBoxRese
bool QtMyWindow::eventFilter(QObject *f_object, QEvent *f_event){
if(f_object == ui->comboBoxResetValue){
if(f_event->type() == QEvent::MouseButtonPress){
fillItems(); // try to clear before fill to avoid repetitions
}
return false;
}
return false;
}
我们还通知对象我们将为您过滤事件,所以在构造函数中,包括这一行
QtMyWindow::QtMyWindow(QObject* parent,...)
{
...
ui->comboBox->installEventFilter(this);
}