Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/124: Рейтинг темы: голосов - 124, средняя оценка - 4.54
5 / 5 / 1
Регистрация: 08.01.2011
Сообщений: 46

Событие при смене Item в comboBox

30.03.2011, 20:26. Показов 23799. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем участникам форума. Пишу курсовую, возникла такая проблема.

Имеется два comboBox.
  1. comboBoxDepartments - Хранит информацию об отделах
  2. comboBoxPosts - Хранит информацию о должностях, соответствующих отделам

Оба бокса получают данные из БД. Таблицы связаны внешними ключами. Нужно, чтобы при выборе некоторого отдела в comboBoxDepartments в comboBoxPosts отображались только те должности, которые соответствуют отделам.

Пытался сделать упрощенное событие типа:
Имеется один комбобокс с четырьмя Items. При выборе одного из них должно выскакивать QMessageBox с названием текущего выбранного элемента бокса.

Если у кого есть идеи подскажите... Заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.03.2011, 20:26
Ответы с готовыми решениями:

Как у QTreeview поймать событие клика по пустой области (не по Item)?
Добрый день! Требуется при нажатии пользователем в пустой области QTreeView не по Item, снять выделение Item и на основании того, что...

Событие При Смене Периода Журнала
На форме Журнала нет такого события. Перелистал Помощника - не нашел. А оно должно быть.

Событие при смене значения радиокнопки
Как сделать, чтобы при смене значения радиокнопки, т.е. когда ее нажимают, или когда она выстреливает (нажимают любую другую радиокнопку),...

11
 Аватар для dxdy
99 / 99 / 14
Регистрация: 14.06.2010
Сообщений: 284
30.03.2011, 22:27
вам нужно посмотреть папку sql в примерах Qt. Там есть примеры реализации данной конструкции...
0
 Аватар для Koste
27 / 27 / 0
Регистрация: 04.03.2011
Сообщений: 164
30.03.2011, 22:59
Делай обработку данных SQL-сервером! А в комбо бокс только выводи результат
0
5 / 5 / 1
Регистрация: 08.01.2011
Сообщений: 46
31.03.2011, 20:24  [ТС]
Цитата Сообщение от Koste Посмотреть сообщение
Делай обработку данных SQL-сервером! А в комбо бокс только выводи результат
Обработка так и происходит! Само событие мне нужно. Сейчас пытаюсь делать.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
01.04.2011, 14:28
В событии OnChange первого Combo щупаешь comboBoxDepartments->ItemIndex, на основании значения с нуля заполняешь comboBoxPosts

Добавлено через 1 минуту
Цитата Сообщение от dxdy Посмотреть сообщение
вам нужно посмотреть папку sql в примерах Qt. Там есть примеры реализации данной конструкции...
Цитата Сообщение от Koste Посмотреть сообщение
Делай обработку данных SQL-сервером! А в комбо бокс только выводи результат
Извините, не удержался. Вы постановку вопроса читали полностью или только первые две строки?
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
01.04.2011, 14:41
справка в Qt наверное нафиг никому не нужна...
Code
1
2
void QComboBox::currentIndexChanged ( int index)   [signal]
void QComboBox::currentIndexChanged ( const QString &text)   [signal]
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
01.04.2011, 15:49
Пипец я тупой... Мне показалось, что тема в Borland'овском разделе...
0
 Аватар для dxdy
99 / 99 / 14
Регистрация: 14.06.2010
Сообщений: 284
01.04.2011, 16:19
Цитата Сообщение от Evg Посмотреть сообщение
Извините, не удержался. Вы постановку вопроса читали полностью или только первые две строки?
И что вы хотели этим сказать? belirafor хотел связать QComboBox и Sql. В примерах Qt есть реализация через QSqlRelationalTableModel.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
01.04.2011, 16:25
Цитата Сообщение от dxdy Посмотреть сообщение
И что вы хотели этим сказать? belirafor хотел связать QComboBox и Sql. В примерах Qt есть реализация через QSqlRelationalTableModel.
Он всего лишь хотел понять, как поймать ситуацию изменения текущего значения на combobox'е. И специально написал "Имеется один комбобокс с четырьмя Items. При выборе одного из них должно выскакивать QMessageBox с названием текущего выбранного элемента бокса". Про базу данных он упомянул, чтобы вообще было понятно, о чём речь идёт
0
5 / 5 / 1
Регистрация: 08.01.2011
Сообщений: 46
02.04.2011, 21:50  [ТС]
Народ, есть пример использования данной ситуации? А то с примерами в QT не могу пока что разобраться... Точнее не могу найти тот кусок кода, который отслеживает изменения в ComboBox. Это пример с аудиотекой.
0
5 / 5 / 1
Регистрация: 08.01.2011
Сообщений: 46
05.04.2011, 12:29  [ТС]
Проблему решил следующим образом:
C++
1
2
3
4
5
6
ui->comboBoxDepartments->clear();   
    ui->comboBoxDepartments->insertItem(0, allPosts);
    ui->comboBoxDepartments->insertItem(1,"aaa");
    ui->comboBoxDepartments->insertItem(2,"bbb");
 
connect(ui->comboBoxDepartments, SIGNAL(currentIndexChanged(QString)), SLOT(showPosts()));
Далее метод:
C++
1
2
3
4
5
6
7
8
void DialogManagePosts::showPosts()
{
if(ui->comboBoxDepartments->currentText() == "bbb")
    {
    QMessageBox::information(this, tr("bbb"), tr("bbb"));
    }
    else{qDebug() << tr("Заглушка");}
}
Всем Спасибо! Тема закрыта!
1
8 / 8 / 1
Регистрация: 31.03.2010
Сообщений: 32
05.04.2011, 13:27
для первого комбобокса создаешь событие OnCbnSelchangeCombo
и внутри этой функции

m_comZakazchik.GetLBText(m_comZakazchik. GetCurSel(),str);
query.Format("select id from itak_zakazchik where zakazchik_name='%s'",str);
if (mysql_query(mysql,query)!=0)
{
MessageBox("Ошибочный запрос!!!");
return ;
}
res = mysql_store_result(mysql);
while((row = mysql_fetch_row(res)))
{
query.Format("select product_name from itak_product where id_zakazchik=%s",row[0]);
if (mysql_query(mysql,query)!=0)
{
MessageBox("Ошибочный запрос!!!");
break ;
}
res2 = mysql_store_result(mysql);
while((row2 = mysql_fetch_row(res2)))
m_pcomNumProduct[0].InsertString(0,row2[0]);
}


и тебе будет заполнение второго комбобокса от результата первого
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.04.2011, 13:27
Помогаю со студенческими работами здесь

Ошибка при скрытии объектов при смене значения ComboBox
procedure TForm1.ComboBox2Change(Sender: TObject); begin case combobox2.ItemIndex of 0: DBGrid3.Visible:=true; // ХОЧУ ЗДЕСЬ...

Какое событие генерируется при смене вкладки в TabControl
Какое событие генерируется, когда я меняю вкладку в TabControl? Или как мне вызвать функцию, когда я меняю вкладку в TabControl?

Какое событие возникает при смене режима отображения формы
Прошу прощения за дурацкий вопрос, меня что-то пермкнуло. Не могу в списке событий найти, какое событие возникает при смене CurrentView...

При выборе первого Item в combobox показывать edit1
Всем привет, может кто поможет мне разобраться с Case?) На форму добавил компонент ComboBox1 и 4 edit, нужно чтобы при выборе первого...

Передать значение столбца из таблицы БД при смене значения comboBox'a
Народ такая цель нужно что бы при смене значения ComboBox менялось и отображалось значение textBox. Вот хотел сделать это таким образом ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru