![]() |
|
|
![]()
|
|
| Modul |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 17.2.2006 Репутация: нет Всего: нет |
Имеется таблица QTableWidget, с левой стороны простой список QListWidget.
- Все - Активные - Неактивные Надо отсортировать QTableWidget по моему критерию в строке (например, если flag[i] = 0, 1, 2). Виджеты в цикле добавляю так:
Как ? Посоветуйте ! --------------------
I'll be back ! |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Для начала, я бы делал не QListWidget, а 3 RadioButton, на мой взгляд это более подходящий элемент управления.
дальше, тебе нужно ОТСОРТИРОВАТЬ или ОТОБРАТЬ? Это разные понятия. В первом случае ВСЕ элементы выстраиваются в определенном порядке, во втором - в таблицу помещаются только определенные элементы. Если тебе нужно второе, то это делается путем полного перезаполнения таблицы (очищение и заполнение подходящими критерию элементами). |
|||
|
||||
| Modul |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 17.2.2006 Репутация: нет Всего: нет |
Правильно заметил
С item QTableWidgetItem все нормально заполняется. Т.е. вытаскиваем из таблицы 1, далее заносим айтем в таблицу 2.
А вот с виджетами проблема. Этот же виджет (QLabel) берется из таблицы 1, заносится в таблицу 2. А в старую таблицу (таблица 1) его снова нельзя занести !!!
То есть таблица 1 уже без виджета. И метода удаления виджета из таблицы, подобно takeItem(), не удаляя при этом мой объект нет !!! Кроме того, объект постоянно получает данные из сети, поэтому метод типа label->text() не подходит. Это сообщение отредактировал(а) Modul - 20.7.2010, 23:41 --------------------
I'll be back ! |
||||||
|
|||||||
| _GRIN_ |
|
|||
![]() одинокий падаван ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 18.11.2007 Где: Калуга Репутация: 6 Всего: 7 |
Modul, если я тебя правильно понял, то не в коем случае не надо удалять элементы из таблицы (добавлять их заново долго) - достаточно просто скрыть строку.
находишь свой айтем QTableWidgetItem*item; и скрываешь строку на которой располагается данный айтем my_table->setRowHidden(item->row(),true); //или фалсе, если айтем наоборот надо отобразить. ---------- З.Ы. апи писал по памяти - а хелп лезть было лениво - но идея такая. -------------------- Дорогу осилит идущий |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Может стоит посмотреть в сторону QSortFilterProxyModel ?
Это сообщение отредактировал(а) borisbn - 21.7.2010, 07:04 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Modul |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 17.2.2006 Репутация: нет Всего: нет |
_GRIN_ ты как в воду смотрел !!!
Перечитав книжки, пришел к выводу, что надо идти в сторону прокси модели. А тут такое простое решение !
Конечно, нумерация нарушается, но она и не нужна особо. _GRIN_ просто огромное спасибо ! --------------------
I'll be back ! |
||||
|
|||||
| _GRIN_ |
|
|||
![]() одинокий падаван ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 18.11.2007 Где: Калуга Репутация: 6 Всего: 7 |
Modul, был рад помочь
-------------------- Дорогу осилит идущий |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |