crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QComboBox
eldar85
  опции профиля:
сообщение 15.7.2010, 10:18
Сообщение #1


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


Интерисует такая ситуация, нужно создать comboBox в котором будут содержаться города к примеру:
москва
питер
новосибирск
....
и привязать к каждому городу уникальное значение. К примеру выбрав из списка москву в значении получить установленное значение:
москва = 123
питер = 345
новосибирск = 678

до этого я делал так

QStringList cities;
cities << "Москва" << "Питер" << "Новосибирск";

ui->comboBox->addItems(cities);


......


и потом в слоте помещаал в switch()

значения городов и при выборе города выдается поочередное число, получается москва=1, питер=2, новосибирск=3...

в слоте попадая в свич уже присваивалось значение уникальное города, но это все очень грамоздко, так как иногда городов очень много.
нельзя ли сразу как то присвоить значение городу???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Wlad
  опции профиля:
сообщение 15.7.2010, 10:35
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 9.12.2008
Пользователь №: 450

Спасибо сказали: 0 раз(а)




Репутация:   1  


Для привязке к строке можно задать пользовательские данные:

void QComboBox::addItem ( const QString & text, const QVariant & userData = QVariant() );

а потом читать их:

QVariant QComboBox::itemData ( int index, int role = Qt::UserRole ) const

см. Справку! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.2.2025, 0:18