Поведение grid в QTableView, Пропадает курсор после нажатия Enter |
Здравствуйте, гость ( Вход | Регистрация )
Поведение grid в QTableView, Пропадает курсор после нажатия Enter |
mva |
17.3.2009, 8:46
Сообщение
#1
|
Участник Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: 0 |
Добрый день всем!
Редактирую табличку с помощью связки QSqlTableModel и QTableView. После изменения элемента таблички после нажания на Enter пропадает курсор (указатель текущего элемента Grid) вместо того, чтобы перейти на следующий справа элемент. Конечно, мышкой можно вернуть курсор на место, но это немного не то, что хотелось... Почему пропадает курсор? |
|
|
Litkevich Yuriy |
17.3.2009, 14:34
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
mva |
17.3.2009, 19:49
Сообщение
#3
|
Участник Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: 0 |
код
|
|
|
Litkevich Yuriy |
17.3.2009, 20:26
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
первое, что бросается в глаза
QTableView pgrdTable; используй динамическое создание объектов.QSqlTableModel model; А вот и причина такого поведения: model.setEditStrategy(QSqlTableModel::OnRowChange); при такой стратегии всегда будет себя так вести. Так как представление постоянно перезагружеатся.вместо того, чтобы перейти на следующий справа элемент. а такого поведения в Qt вообще нет.
|
|
|
Kagami |
17.3.2009, 23:39
Сообщение
#5
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
|
|
|
mva |
18.3.2009, 8:11
Сообщение
#6
|
Участник Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: 0 |
А вот и причина такого поведения: model.setEditStrategy(QSqlTableModel::OnRowChange); при такой стратегии всегда будет себя так вести. Так как представление постоянно перезагружеатся.А можно ли сделать так, чтобы изменения строки отсылались на сервер в фоновом режиме, а представление не перезагружалось? Я пришел в Qt из Visual FoxPro. Там представления работают именно так, очень удобно, особенно при медленных каналах связи... . вместо того, чтобы перейти на следующий справа элемент. а такого поведения в Qt вообще нет.Но его можно легко сделать самому Не могу найти в документации, как управлять навигацией по таблице... Все же английский язык не родной... Не подскажите, где смотреть? Заранее благодарен... |
|
|
LE0N |
18.3.2009, 10:37
Сообщение
#7
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата Не могу найти в документации, как управлять навигацией по таблице... Все же английский язык не родной... Не подскажите, где смотреть? Заранее благодарен... http://www.doc.crossplatform.ru/qt/4.4.3/m...-selection.html Цитата А можно ли сделать так, чтобы изменения строки отсылались на сервер в фоновом режиме, а представление не перезагружалось? Я пришел в Qt из Visual FoxPro. Там представления работают именно так, очень удобно, особенно при медленных каналах связи... Можно вообще отправлять данные самому. В тот момент, когда нужно тебе. Смотри функцию model.setEditStrategy Только небольшой неприятный ньюанс... Когда удаляешь строки, они не удаляются пока не сделаешь субмит |
|
|
Litkevich Yuriy |
18.3.2009, 12:20
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 20.4.2024, 6:09 |