Russian Qt Forum
Сентября 09, 2025, 13:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сортировка QTableWidget [РЕШЕНО]  (Прочитано 3458 раз)
pupapum
Гость
« : Января 22, 2010, 13:43 »

 Здравствуйте, подскажите, пожалуйста, существует ли какой-нибудь индекс сортировки QTableWidgetItem'ов в QTableWidget, чтобы сортировка происходила непосредственно по нему, а не по тексту. Спасибо.


Переопределяем сравнение для айтемов, благо оно virtual. Спасибо!
« Последнее редактирование: Января 22, 2010, 15:23 от pupapum » Записан
NicK
Гость
« Ответ #1 : Января 22, 2010, 19:58 »

Цитировать
Переопределяем сравнение для айтемов, благо оно virtual.
А можно пример, пожалуйста?
Записан
DS_tm
Гость
« Ответ #2 : Января 24, 2010, 15:52 »

Цитировать
Переопределяем сравнение для айтемов, благо оно virtual.
А можно пример, пожалуйста?

Создаем класс, наследник от QTableWidgetItem, добавляем член класса, как-ой нибуть int _sortIndex, делаем к нему аксессоры(sortIndex(), setSortIndex()). Переопределяем функцию:

Код
C++ (Qt)
bool UserWidgetItem::operator<(const QTableWidgetItem &other) const {
   UserWidegetItem *item = static_cast<UserWidgetItem*>(&other);
   if (!item) return false;
   return sortIndex() < item->sortIndex();
}
 
Записан
SABROG
Гость
« Ответ #3 : Января 25, 2010, 01:44 »

Код
C++ (Qt)
bool UserWidgetItem::operator<(const QTableWidgetItem &other) const {
   UserWidegetItem *item = static_cast<UserWidgetItem*>(&other);
   if (!item) return false;
   return sortIndex() < item->sortIndex();
}
 

Мне кажется такой код собираться не будет. Взятие адреса на other в static_cast...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.032 секунд. Запросов: 17.