Название: QComboBox не устанавливается userData Отправлено: sidsukana от Июль 22, 2012, 20:19 Собственно код
Код: combobox->insertItem(0, "Test", 25); В data получаю 0 всегда, чтобы я не ставил в userData параметр. Даже через setItemData. role = 32 во всех случаях. В чем подвох? Название: Re: QComboBox не устанавливается userData Отправлено: kambala от Июль 22, 2012, 20:27 что показывает?
Код
Название: Re: QComboBox не устанавливается userData Отправлено: sidsukana от Июль 22, 2012, 20:28 Все ложная тревога, там надо же модель юзать :D Эх а без модели было бы куда проще)
Название: Re: QComboBox не устанавливается userData Отправлено: Fregloin от Июль 23, 2012, 16:03 Какая модель? Читайте матчасть - возвращается тип QVaraint.
т.е. что бы установить данные quint32 dataVal = 25; comboBox->setItemData(0,dataVal); //или как то так, пишу по памяти получить данные quint32 dataVal = comboBox->itemData(0).value<quint32>(); Название: Re: QComboBox не устанавливается userData Отправлено: sidsukana от Июль 24, 2012, 06:47 Какая модель? Читайте матчасть - возвращается тип QVaraint. т.е. что бы установить данные quint32 dataVal = 25; comboBox->setItemData(0,dataVal); //или как то так, пишу по памяти получить данные quint32 dataVal = comboBox->itemData(0).value<quint32>(); Ога, давай иди так и сделай умник :D Первый пост прочитайте, потом ерунду свою пишите. Более того, даже если бы все было так просто, нафига использовать приведение стандартного типа :D? есть метод toInt(). Далее, сами методы говорят о том что там должна быть Item-модель. (QAbstractItemModel), хотя для моего случая производительность была не важна, и я взял обычный QStandardItemModel. Закрепим материал, для тех кто наступит на теже грабли, как я и вы. Код: combobox->setModel(new QStandardItemModel); Название: Re: QComboBox не устанавливается userData Отправлено: Fregloin от Июль 24, 2012, 11:08 я юзаю такой подход без всяких моделей, и он почему то работает (странно да? потому как в QComboBox используется модель по умолчанию).
Я храню пары "тескт"=указаетль в comboBox в таком виде, и все отлично работает без использования каких либо кастомных моделей (в моей задаче этого достаточно). Так что давай без иронии, ага? Как сделать, оставим на совесть ТС. А он пусть скажет, чей метод помог. Название: Re: QComboBox не устанавливается userData Отправлено: sidsukana от Июль 24, 2012, 11:19 я юзаю такой подход без всяких моделей, и он почему то работает (странно да? потому как в QComboBox используется модель по умолчанию). Я храню пары "тескт"=указаетль в comboBox в таком виде, и все отлично работает без использования каких либо кастомных моделей (в моей задаче этого достаточно). Так что давай без иронии, ага? Как сделать, оставим на совесть ТС. А он пусть скажет, чей метод помог. Я и есть ТС, ога :D ? И еще раз говорю прочти первый пост ВНИМАТЕЛЬНО. Не знаю какую версию ты там используешься, но у меня нет в нем модели по умолчанию. (странно да? потому как в QComboBox используется модель по умолчанию). WHAT? у вас 2 пост не состыковывается с 1, в котором вы сказали что там вообще нет модели :\ Вы форумный тролль? Ну тогда ваш совет мне и в помине не нужен, а по делу, ваш совет не помог. Прочитайте еще раз 1 пост в котором я ясно сказал что использовал все способы. Уж не один и не два года с qt работаю, чтобы на такой ерунде прогореть. Название: Re: QComboBox не устанавливается userData Отправлено: Alex_C от Июль 26, 2012, 21:16 Fregloin абсолютно прав - в QComboBox уже есть внутренняя модель по умолчанию. Ее нужно переопределять, если ты что то свое хочешь в ней хранить.
А у тебя не работает по какой то другой причине. Как минимум замени insertItem на addItem. Вот мой работающий код: Код
И перед тем как наезжать - советую все же хоть немного доку почитать. :) Название: Re: QComboBox не устанавливается userData Отправлено: andrew.k от Июль 27, 2012, 00:31 И перед тем как наезжать - советую все же хоть немного доку почитать. :) точно. че-то чайники совсем охамели :( |