Russian Qt Forum
Ноябрь 14, 2024, 20:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt5 не выделяет строку в QTableView при перемещении столбцов  (Прочитано 2650 раз)
maint
Гость
« : Февраль 12, 2015, 09:23 »

Есть Qt 5.4. Определяю QTableView следующим образом
Код
C++ (Qt)
 
view->horizontalHeader()->setSectionsMovable(true);
view->horizontalHeader()->moveSection(7, 1);
view->horizontalHeader()->moveSection(7, 2);
После этого
Код
C++ (Qt)
QModelIndex mi;
view->selectRow(mi.row());
 
Перестает выделять строку (row). Если убрать перемещения столбцов, то все хорошо. Более того, если сторбцы переместить вручную, та же беда. Никто не знает в какую сторону копать что бы избавится от плюхи?
В Qt4 работало при view->horizontalHeader()->setMovable(true), но это исчезло после улучшений в пятерке
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #1 : Февраль 12, 2015, 09:43 »

Код
C++ (Qt)
QModelIndex mi;
view->selectRow(mi.row());
 

посмотрите на конструктор:
Код
C++ (Qt)
Q_DECL_CONSTEXPR inline QModelIndex() : r(-1), c(-1), i(0), m(0) {}

row по умолчанию = -1;

а вот метод:
Код
C++ (Qt)
void QTableViewPrivate::selectRow(int row, bool anchor)
{
...
   if (row >= 0 && row < model->rowCount(root)) {
...
   }
}
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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