crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> ComboBox
Cerberon
  опции профиля:
сообщение 23.2.2011, 12:06
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 22.2.2011
Пользователь №: 2433

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




Репутация:   0  


Цитата
void MainWindow::on_comboBox_currentIndexChanged(int index)

Что возвращает данное событие? Как нумеруется index? Есть список и соответсвенно позиции в нём нужно присваивать переменной значения, как узнать эту позицию?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 23.2.2011, 12:10
Сообщение #2


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

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




Репутация:   3  


QVariant QComboBox::itemData ( int index, int role = Qt::UserRole ) const
Нумеруется как обычно от нуля.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 23.2.2011, 13:15
Сообщение #3


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

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




Репутация:   7  


Цитата
Что возвращает данное событие?

Это не событие. Это слот сигнала. void ничего не возвращает.

Цитата
Как нумеруется index?

Айтемы в комбобоксе нумеруются от 0 как и сказал panter_dsd. Только в данном случае приходит индекс того элемента, который является текущим в комбобоксе.

Цитата
Есть список и соответсвенно позиции в нём нужно присваивать переменной значения

Вот блин неужели так сложно писать по правилам русского языка? Или хотя бы самому перечитать вопрос? Что и кому нужно присваивать? Переменной, позиции или индексу?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Cerberon
  опции профиля:
сообщение 23.2.2011, 17:13
Сообщение #4


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 22.2.2011
Пользователь №: 2433

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




Репутация:   0  


Выучи падежи и поймёшь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.2.2011, 17:17
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Cerberon, давай развёрнутое пояснение своей фразе:
Цитата(Cerberon @ 23.2.2011, 14:06) *
Есть список и соответсвенно позиции в нём нужно присваивать переменной значения
с падежами и так далее, чтобы и я понял её значение.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 23.2.2011, 18:23
Сообщение #6


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Цитата(Cerberon @ 23.2.2011, 11:06) *
Что возвращает данное событие?
Позицию, начиная с 0, текущего значения комбобокса.
Выбрали 3-й пункт, название не важно, index=2.

Цитата(Cerberon @ 23.2.2011, 11:06) *
Есть список и соответсвенно позиции в нём нужно присваивать переменной значения, как узнать эту позицию?
Непереваримо... Заполняем так, к примеру:
QStringList list;
list<<"One"<<"Two"<<"Three";
comboBox->addItems(list);


Сообщение отредактировал RazrFalcon - 23.2.2011, 18:25
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 24.2.2011, 8:46
Сообщение #7


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

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




Репутация:   7  


Цитата(Cerberon @ 23.2.2011, 17:13) *
Выучи падежи и поймёшь.

Ну, видимо, нам всем нужно выучить падежи чтобы тебе помочь. Или срочно в телепатов переквалифицироваться.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Cerberon
  опции профиля:
сообщение 27.2.2011, 10:53
Сообщение #8


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 22.2.2011
Пользователь №: 2433

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




Репутация:   0  


Есть ComboBox, когда выбран элемент, нужно получить его номер, чтобы затем поставить его в условие if. Например:
if (index = 1) {
        QString str = "One";
    }

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 27.2.2011, 11:36
Сообщение #9


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


void MainWindow::comboBox_currentIndexChanged(int index)
{
if (index = 1) {
QString str = "One";
}
}


или

void MainWindow::order_comboBox_currentIndexChanged(QString name)
{
QString str = name;
}


ПКМ по комбобоксу в дизайнере - слоты - ищем там выше приведенные.
Причина редактирования: Оформляй код!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Cerberon
  опции профиля:
сообщение 27.2.2011, 15:15
Сообщение #10


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 22.2.2011
Пользователь №: 2433

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




Репутация:   0  


Да. Вот мой код:
void MainWindow::on_comboBox_currentIndexChanged(int index)
{
    if (index = 1)
    {
        QString str = "One";
    }
}


void MainWindow::on_pushButton_2_clicked()
{
     ui->textEdit->insertPlainText(str);
}

Но значение переменной str не меняется.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 29.3.2024, 1:45