Select an Entry or Add a New One ComboBox

From Qt Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The following method acts on a combo box searching for a specified text string and:

  • if the string is present select it
  • if the string is not present add it to the combo box model

In the following piece of code myText is the QString searched for and combo is a reference to the combo box.

bool found = false;
for( int i = 0; i < combo->count() && ! found ; i++ ) {
 if( combo->itemText( i ) == myText ) {
  combo->setCurrentIndex( i );
  found = true;
 }
}
if (!found ) {
 int index = combo->count();
 combo->addItem( myText );
}
combo->setCurrentIndex( index );