Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2012, 19:54   #1
_KUL
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 96
По умолчанию Qt comboBox скрыть пустые строки

Здравствуйте.
Подскажите, как в combobox не отображать пустые строки?
Есть некоторое пространство значений, от 0 и до например 100, хочу в combobox поместить все значения, чтобы каждая строка являлась своего рода индексом, а текст в строке, значением по этому индексу. НО! В этом пространстве не факт что после, например 15 идёт 16, может после 15 идти 18, а 16 и 17 будут с пустым значением. Как мне в комбобокс сделать, чтобы эти строки не отображались? Например была бы функция хинт для функции которая обращается к строке, сделал бы так ui->comboBox_6->itemData(16)->hint; , но такой нет
_KUL вне форума Ответить с цитированием
Старый 09.06.2012, 20:27   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

нифига не понял, но чую, что тебе нужен Qt::UserRole
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 09.06.2012, 20:45   #3
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

http://unixforum.org/index.php?showtopic=125260
PinkPink вне форума Ответить с цитированием
Старый 10.06.2012, 16:56   #4
_KUL
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 96
По умолчанию

PinkPink
По вашей ссылке посмотрел, сделал:
PHP код:
 ui->comboBox_6->addItem("aaa"QVariant(0));
    
ui->comboBox_6->addItem("bbb"QVariant(1));
    
ui->comboBox_6->addItem("ccc"QVariant(3));
    
qDebug() << ui->comboBox_6->itemText(2) << " вот"
Так он в дебаг напечатал:
PHP код:
"ccc"  вот 
А ведь должен был пустоту ну или хотя бы кёрнел паник ?!

pproger
Т.е. это переобпределение функции класса комбобокс сделать?!

Я уже думаю, какой-нибудь трёхмерный массив завести что-ли ... Просто нужно пересчитать от например 1 до 5, а комбобокс вывести только те, которые не пустые. Но и при выборе строки 3, нужно знать, что это на самом деле 4й элемент в массиве, т.к. 2й у нас пустой и в комбобоксе поэтому не показываем. В общем это мускуль с айдишниками, но строки с айдишниками иногда удаляются , жёсткого порядка нет.
_KUL вне форума Ответить с цитированием
Старый 12.06.2012, 17:47   #5
_KUL
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 96
По умолчанию

всё оказалось проще, чем можно было представить.
заводим указатель
перебираем строки из базы, считаем кол-во
определяем указатель как массив с размером кол-ва строк
перебираем ещё раз данные из бд, каждая итерация это i, а это ещё и индекс массива, а значение, это результат параметра из итерации
теперь массив[выбранный комбобокс] == айди из базы
проще не придумал
_KUL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
dataGridView пустые строки Prizrak86 C# (си шарп) 2 08.02.2012 19:10
пустые строки и копирование c++ Myk21 Помощь студентам 0 02.12.2011 00:00
Скрыть пустые строки с "0" значением в требуемом диапазоне Uralmaster Microsoft Office Excel 2 08.02.2011 11:29
Скрыть пустые строчки макросом kzld Microsoft Office Excel 2 27.05.2010 06:52
Почему то пустые строки zotox Помощь студентам 3 24.03.2009 15:26