Russian Qt Forum
Сентябрь 30, 2024, 16:36
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Айтемы в таблице не выделяються QT4.3.0
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Айтемы в таблице не выделяються QT4.3.0 (Прочитано 6260 раз)
XandoX
Гость
Айтемы в таблице не выделяються QT4.3.0
«
:
Сентябрь 24, 2007, 16:51 »
Собственно сабж?
для таблицы(QTableView) поставил
m_main_table->setSelectionMode(QAbstractItemView::ExtendedSelection);
m_main_table->setSelectionBehavior(QAbstractItemView::SelectItems);
для модели
флаги
return Qt::ItemIsEditable|Qt::ItemIsSelectable|Qt::ItemIsEnabled;
что еще нужно, может с делегатом что сделать, но у него про выделения ничего не нашел, к стати, наверное, в связи с тем что нечего не выделяется, делегат не отрабатывет (делегат для редактирования айтемов)
не выделяеться следующим образом, мышкай клацешь, покак держишь, вроде выделено, отпускаешь выделение проподает, вот такая вот фигня, как бороться?
ps убрал теги кода, а то в нем нифега не видно
«
Последнее редактирование: Сентябрь 24, 2007, 16:54 от XandoX
»
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Айтемы в таблице не выделяються QT4.3.0
«
Ответ #1 :
Сентябрь 24, 2007, 18:06 »
Делаешь так
qtvReferences=new QTableView(this);
qtvReferences->setSelectionBehavior(QAbstractItemView::SelectRows);//Замени на нужное
И больше ничего. Зачем модель трогать?
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
XandoX
Гость
Re: Айтемы в таблице не выделяються QT4.3.0
«
Ответ #2 :
Сентябрь 25, 2007, 08:59 »
некатит, если SelectRows ставишь, строка подмышкой выделяеться, но после отпускания кнопки тудже сбрасываеться,
это может быть из-за, того что таблица обновляеться 10 раз в секунду?
Записан
Tamara
Гость
Re: Айтемы в таблице не выделяються QT4.3.0
«
Ответ #3 :
Сентябрь 25, 2007, 11:09 »
Цитата: XandoX от Сентябрь 25, 2007, 08:59
это может быть из-за, того что таблица обновляеться 10 раз в секунду?
А она как обновляется-то? если reset-ится по 10 раз в секунду, то всяко из-за этого
А вообще, недостаточно данных для ответа на поставленный вопрос: из-за вызова вышеприведенных функций и возврата флагов проблем быть не должно, ошибка где-то в другом месте, но без кода можно только гадать на кофейной гуще, где именно.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Айтемы в таблице не выделяються QT4.3.0
«
Ответ #4 :
Сентябрь 25, 2007, 11:34 »
Перед каждым обновлением сохраняй позицию и после восстанавливай.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
XandoX
Гость
Re: Айтемы в таблице не выделяються QT4.3.0
«
Ответ #5 :
Сентябрь 25, 2007, 12:29 »
Цитата: Tamara от Сентябрь 25, 2007, 11:09
если reset-ится по 10 раз в секунду, то всяко из-за этого
ага из-за этого, я поменял, теперь выделение работает.
тока вот редактироваться все равно не хоче, это то же из-за этого? если да, то как помимо сохранения текущего индекса и потом его восстановления с этим бороться?
Записан
Tonal
Гость
Re: Айтемы в таблице не выделяються QT4.3.0
«
Ответ #6 :
Сентябрь 25, 2007, 12:49 »
И редактирование из-за этого. ;-)
Выходов можно несколько придумать, например:
*) Редактировать в отдельном диалоге.
*) Запрещать рефрешь пока редактируешь.
Кроме того, можно
*) Рефрешить не весь View, а только те строки данные в которых реально изменились.
*) Рефрешить только если пользователь ничего не делает.
Ну и если изложишь что это за данные, откуда они берутся и что с ними предполагается делать, может быть тебе ещё чего хорошего посоветуют. ;-)
Записан
XandoX
Гость
Re: Айтемы в таблице не выделяються QT4.3.0
«
Ответ #7 :
Сентябрь 25, 2007, 13:03 »
Цитата: Tonal от Сентябрь 25, 2007, 12:49
Ну и если изложишь что это за данные, откуда они берутся и что с ними предполагается делать, может быть тебе ещё чего хорошего посоветуют. ;-)
ну данные забираются с железяки специальной, часть даных, а часть с помощью редактирования надо отсылать,
тут проблема не в том где и как редактировать, а в том что TableView не успевает сообразить что надо редактировать,
тоесть вопрос в том как сохранять инфу про редактирование и где ее брать, я пробовал ставить тригер редактирования SelectedClicked, но он все равно похоже не успевает отработать, а время опроса менять не хочеться, уж больно тогда данные запаздывають
Записан
denka
Гость
Re: Айтемы в таблице не выделяються QT4.3.0
«
Ответ #8 :
Сентябрь 25, 2007, 13:42 »
По моему проблема у тебя в том что ты делаеш полный reset всему вьюву. Я так понимаю данные от железяки и от опереатора не пересекаються. Не лучше обновлять только то что изменилось и не трогать то что нет? Тебе стоит изменить логику своей модели. Ведь dataChanged еще не кто не отменял.
Записан
XandoX
Гость
Re: Айтемы в таблице не выделяються QT4.3.0
«
Ответ #9 :
Сентябрь 25, 2007, 13:50 »
блин, еще одну проблему нашел.
если в таблице записей стоко, что включается скролинг, то при выделение одно из айтемов, таблица пытается сохранить его на экране, как это отключить? а то я что-то не нашел
Записан
XandoX
Гость
Re: Айтемы в таблице не выделяються QT4.3.0
«
Ответ #10 :
Сентябрь 25, 2007, 14:29 »
оооо все заработало, спасибо
den'ka
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...