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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableWidget и редактирование ячейки  (Прочитано 6438 раз)
alex12
Гость
« : Февраль 15, 2007, 16:10 »

Всем привет!

Совсем замучился с такой проблемой. Есть таблица QTableWidget. В ней постоянно (1 раз в секунду) изменяются данные. Нужно чтобы пользователь мог вводить свои значения двойным нажатием на ячейке.

Проблема в том, что постоянно изменяющиеся данные забивают его ввод. Я ни как не могу найти, где можно узнать редактируется ли сейчас ячейка или нет. Может я не вижу какого-то очевидного пути?
Записан
nova
Гость
« Ответ #1 : Февраль 15, 2007, 21:10 »

Попробуй проверять имеет ли QTableWidget фокус ввода в данный момент.
Когда пользователь начинает ввод фокус передается делегату.
Записан
mcgeenerman
Гость
« Ответ #2 : Февраль 17, 2007, 03:40 »

я вижу проблему что когда пытаешся изменить каждую секунду QTableWidgetItem то он переходит в состояние не редактировать, вообще двойной щелчк по умолчаниб срабатывает на редактирование ячейки, но при изменении ячейки QTableWidgetItem фокус редактирование естественно сбрасывается, решение такое: перегружаеш слот двойного щелчка - в нём QTableWidgetItem::setData(1,"editing") далее, где алгоритм изменения данных ячейки в каждую секунду проверяем if(QTableWidgetItem::data(1)=="editing") то не изменяем ячейку так как она в процессе редактирования. При завершении редактирования сбрасываем дату QTableWidgetItem::setData(1,"")
завершение редактирования можно словить сигналом  itemChanged.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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