crossplatform.ru

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


  Ответ в QComboBox
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Kilel Дата 21.7.2010, 14:38
  Вот тоже столкнулся с такой же проблемой неужто нет более элегантного метода!!? типа:
QComboBox *point;
....
QObject::connect(bd,SIGNAL(search_name_end(QStringList)),ui->point,SLOT(update()));

слот "setItems" отсутствует, это только функция.

Возможно ли как нить привести к выше изложенному виду ?
igor_bogomolov Дата 15.7.2010, 14:50
 
Цитата(Алексей1153 @ 15.7.2010, 15:47) *
А я не согласен Ведь обычно список городов будет использовать не только в списке, а ещё в паре мест. Поэтому заставлять элемент управления быть контейнером не кузяво.
+1
Алексей1153 Дата 15.7.2010, 14:47
 
Цитата(Litkevich Yuriy @ 15.7.2010, 17:19) *
DIMEDROLL, согласен, так проще. И QVariant позволит помещать множество типов в себя.

А я не согласен :) Ведь обычно список городов будет использовать не только в списке, а ещё в паре мест. Поэтому заставлять элемент управления быть контейнером не кузяво. Но одноразово пойдёт, конечно
eldar85 Дата 15.7.2010, 14:25
  спасибо за ответы)) выручили)
Litkevich Yuriy Дата 15.7.2010, 14:19
  DIMEDROLL, согласен, так проще. И QVariant позволит помещать множество типов в себя.
DIMEDROLL Дата 15.7.2010, 13:52
  зачем возится с map'ом если в QComboBox нужная функциональность уже есть
Wlad, правильно сказал, добавляешь:
ui->comboBox->addItem("Москва", QVariant(123));
ui->comboBox->addItem("Питер", QVariant(222));


получаешь
void MyWidget::on_comboBox_currentIndexChanged(int index) {
int number = ui->comboBox->itemData (index, int role = Qt::UserRole ).toInt();
}
BRE Дата 15.7.2010, 12:42
  void QComboBox::currentIndexChanged ( const QString & text ) [signal]

В слоте в переменной text получаешь название города и достаешь его id из map.
eldar85 Дата 15.7.2010, 12:39
  слот)) у меня же подгрузиться это все при запуске программы, но когда я буду менять город в этом списке, он же должен сигнал отправить моему слоту...
Litkevich Yuriy Дата 15.7.2010, 11:28
 
Цитата(eldar85 @ 15.7.2010, 15:10) *
а каким сигналом вызавать его лучше?
что вызывать?
eldar85 Дата 15.7.2010, 11:10
 
Цитата(BRE @ 15.7.2010, 14:28) *
Это можно сделать по разному.
Как вариант:

QMap<QString, int> cities;
cities[ "Москва" ] = 123;
cities[ "Питер" ] = 345;
cities[ "Новосибирск" ] = 678;

ui->comboBox->addItems( cities.keys() );

// В слоте по имени получить id
int id = cities[ text ];



а каким сигналом вызавать его лучше?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 16:18