2 / 2 / 0
Регистрация: 13.11.2012
Сообщений: 13
1

current index в QTableView

07.06.2013, 11:07. Показов 6087. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, есть следующая проблема.

Имеется класс, унаследованный от QTableView. В нем задана своя табличная модель, унаследованная от QAbstractTableModel.
В QTableView есть функция currentIndex(), которая возвращает индекс текущего элемента в таблице. Однако, если пользователь кликает мышкой за пределы таблицы, то текущий элемент не меняется и не сбрасывается. Как в этом случае "сбросить" текущий элемент так, чтобы функция currentIndex() вернула бы invalid (или что-то типа того)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2013, 11:07
Ответы с готовыми решениями:

Operation Invalid without current Index
Есть прога на VB которая юзает MDB файл. Очень активно юзает, постоянно в нее пишет. Записей под...

Ошибка ADODB.Field error '800a0bcd' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current recor
Имею скрипт Set dbo = Server.CreateObject('ADODB.Connection') dbo.Open 'PEN1' Title =...

Голосовалка, ошибка: Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
Вопросы по голосовалке с ответами, из базы вытаскиваются, при нажатии на ГОЛОСОВАТЬ результаты...

Ошибка Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record
Большое спасибо всем кто хоть что-нибудь подскажет или наведёт на нужную мысль!! Короче...

2
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,726
Записей в блоге: 1
07.06.2013, 11:08 2
ловить событие снятия фокуса с виджета и по нему записывать в currentIndex -1
1
2 / 2 / 0
Регистрация: 13.11.2012
Сообщений: 13
07.06.2013, 11:44  [ТС] 3
я сделал следующим образом. Переопределил у себя функцию focusOutEvent. (ChannelsWidget наследуется от QTableView)
C++ (Qt)
1
2
3
4
5
6
void ChannelsWidget :: focusOutEvent    ( QFocusEvent * event )
{
    QWidget :: focusOutEvent(event);
    QModelIndex index;
    this->setCurrentIndex(index);
}
Но она вызывается только в случае клика правой кнопки мыши (в любую часть таблицы). А в случае клика левой все осталось по-прежнему. Или надо как-то по-другому?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2013, 11:44
Помогаю со студенческими работами здесь

ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
Выдается следующая ошибка : === ADODB.Field error '80020009' Either BOF or EOF is True, or...

Три файла,(index.coo, index.doc, index.lex) а что за БД не знаю
Мне дали файловую БД(о-очень много файлов) и три файла: index.coo, index.doc и index.lex. ни doc,...

index.html на index.aspx (index.php...)
Вот, собственно, мучаясь с проблемой вылета сайта из топа 1000 (до этого было более 10 топовых (#1)...

Как сделать что бы первым загружался не index.php а index.html
Как сделать что бы первым загружался не index.php а index.html Находил в гугл инфо, пробовал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru