Difference between revisions of "Select an Entry or Add a New One ComboBox"
From Qt Wiki
Line 1: | Line 1: | ||
− | [[Category:HowTo]] | + | [[Category:HowTo]] |
+ | [[Category:snippets]] | ||
= How to select a specific text entry (or add it if does not exist) in a combo box = | = How to select a specific text entry (or add it if does not exist) in a combo box = | ||
− | The following method acts on a combo box searching for a specified text string and: | + | 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. | In the following piece of code ''myText'' is the QString searched for and ''combo'' is a reference to the combo box. | ||
− | <code> bool found = false; | + | <code> bool found = false; |
+ | for( int i = 0; i < combo->count() && ! found ; i++ ) | ||
+ | if( combo->itemText( i ) == myText ){ | ||
+ | combo->setCurrentIndex( i ); | ||
+ | found = true; | ||
+ | } | ||
− | if( ! found ){ | + | if( ! found ){ |
+ | int index = combo->count(); | ||
+ | combo->addItem( myText ); | ||
combo->setCurrentIndex( index ); | combo->setCurrentIndex( index ); |
Revision as of 12:19, 25 February 2015
How to select a specific text entry (or add it if does not exist) in a combo box
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 );