QTableWidget, Как програмно реализовать перетаскивание?, Типа Drag-n-Drop, но в коде. |
Здравствуйте, гость ( Вход | Регистрация )
QTableWidget, Как програмно реализовать перетаскивание?, Типа Drag-n-Drop, но в коде. |
Danila_Bagrofff |
16.4.2009, 12:07
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 16.4.2009 Из: Нижний Новгород Пользователь №: 690 Спасибо сказали: 0 раз(а) Репутация: 0 |
Есть проблемка: есть 3 виджета:
в процессе программы wdg должен перемещаться между двумя виджетами. Соответственно менять родителя. Лэаут сам тоже устанавливает виджету родителя. То есть у wgt становится родителем frm после команды insertWidget(). есть команда setParent(). Но при смене родителя она ругается. Если мы перемещаем wdg возникает ошибка: Цитата X Error: BadWindow (invalid Window parameter) 3 Major opcode: 25 (X_SendEvent) Resourse id: ..... Как тогда правильно перемещать виджет между другими? ----------- Отделено от темы: Шуточный пример |
|
|
igor_bogomolov |
17.4.2009, 10:38
Сообщение
#2
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
QTableWidget, предназанчен для довольно примитивных операций над ним. Поэтому он сам удаляет свои элементы Вставка виджета происходит на уровне QAbstractItemView методом setIndexWidget. При этом, данный метод не является виртуальным, и переопределить его не получится.На мой взгляд имеем недоработку(а возможно и баг), т.к. не происходит проверки вставляемого виджета с предыдущим. Предыдущий виджет просто удаляется. Видимо так сделанно из-за того, что копирование виджетов запрещено. Хотя, на мой взгляд, они должны были предусмотреть такую возможность, что бы защититься от лишних ошибок, в результаве повторного вставления одного и того же виджета в ячейку. Это с одной стороны ошибка программиста, но и недоработка библиотеки, в крайнем случае описания данного метода. Так что можно и отрапортовать о баге, посмотрим что ответят. Как считаете, стОит? ИМХО. Сообщение отредактировал igor_bogomolov - 17.4.2009, 11:11 |
|
|
Текстовая версия | Сейчас: 25.11.2024, 4:52 |