Название: QTableWidget и редактирование ячейки Отправлено: alex12 от Февраль 15, 2007, 16:10 Всем привет!
Совсем замучился с такой проблемой. Есть таблица QTableWidget. В ней постоянно (1 раз в секунду) изменяются данные. Нужно чтобы пользователь мог вводить свои значения двойным нажатием на ячейке. Проблема в том, что постоянно изменяющиеся данные забивают его ввод. Я ни как не могу найти, где можно узнать редактируется ли сейчас ячейка или нет. Может я не вижу какого-то очевидного пути? Название: QTableWidget и редактирование ячейки Отправлено: nova от Февраль 15, 2007, 21:10 Попробуй проверять имеет ли QTableWidget фокус ввода в данный момент.
Когда пользователь начинает ввод фокус передается делегату. Название: QTableWidget и редактирование ячейки Отправлено: mcgeenerman от Февраль 17, 2007, 03:40 я вижу проблему что когда пытаешся изменить каждую секунду QTableWidgetItem то он переходит в состояние не редактировать, вообще двойной щелчк по умолчаниб срабатывает на редактирование ячейки, но при изменении ячейки QTableWidgetItem фокус редактирование естественно сбрасывается, решение такое: перегружаеш слот двойного щелчка - в нём QTableWidgetItem::setData(1,"editing") далее, где алгоритм изменения данных ячейки в каждую секунду проверяем if(QTableWidgetItem::data(1)=="editing") то не изменяем ячейку так как она в процессе редактирования. При завершении редактирования сбрасываем дату QTableWidgetItem::setData(1,"")
завершение редактирования можно словить сигналом itemChanged. |