![]() |
|
|
![]()
|
|
| NumLock |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 30.7.2006 Где: Иркутск Репутация: нет Всего: нет |
Есть потомок QTableView. В нем реализован drag&drop. Т.е. есть методы начинающие "перетаскивание" и разрешающие "бросание". Сам он поддерживает бросание "из самого себя". Необходимо, чтобы строки перетаскивались вслед за указателем мыши, и вставлялись между той строкой куда её бросили, и соседней. Посоветуйте, пожалуйста, в какую сторону посмотреть.
|
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Скорее всего придется воспользоваться делегатами. Перед началом операции перетаскивания надо будет "захватить" rect строки или несколько rect'ов с каждого итема в строке и сложить их в один прямоугольник (думаю можно будет глянуть исходники QAbstractItemView в месте где идет полное выделение строк синим цветом), сохранить изображение из этого rect'a в QPixmap и установить для QDrag. Отслеживать положение мышки над строками, чтобы выделять жирным верх или низ границы, чтобы было видно куда дропнется строка (или если хватит фантазии как-то сделать плавное раздвижение строк в пустое пространство с магнитизмом, т.е. чтобы новая строка при этом еще в нужный паз вставала).
|
|||
|
||||
| NumLock |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 30.7.2006 Где: Иркутск Репутация: нет Всего: нет |
Я не нашел способа рисовать на QTableView. Я пытался сделать так:
У меня в приложении ведется лог через стандартный QDebug. Вот в логе было написано следующее:
Со второй строчкой все понятно, а вот что означает первая. Подскажите, пожалуйста, чего я не понимаю. Это сообщение отредактировал(а) NumLock - 20.12.2008, 07:14 |
||||
|
|||||
| NumLock |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 30.7.2006 Где: Иркутск Репутация: нет Всего: нет |
Нашел решение.
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |