crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Тема закрытаНачать новую тему
> QTreeWidget внутреннее перетаскивание. XML переподчинение элемента.
Sergo
  опции профиля:
сообщение 3.8.2009, 15:05
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 31.7.2009
Пользователь №: 972

Спасибо сказали: 1 раз(а)




Репутация:   0  


Использую PyQT 4.4.2, изучаю недавно. Есть дерево. Структура хранится в xml-файле. Очень нравится как библиотека штатно обрабатывает перетаскивание, и менять функционал не хочется. Но есть пара вопросов:
1. После вставки надо изменить xml документ. Куда надо вклиниться, чтобы отловить момент, когда библиотека отработала вставку, чтобы добавить свой кусок кода?
2. Как в xml документе переподчинить елемент? Или надо делать клон, удалять старый элемент, потом вставлять клон куда надо?
Всем заранее спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.8.2009, 15:28
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Sergo @ 3.8.2009, 19:05) *
Есть дерево.
представление (*View) или виджет (*Widget)?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sergo
  опции профиля:
сообщение 3.8.2009, 16:28
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 31.7.2009
Пользователь №: 972

Спасибо сказали: 1 раз(а)




Репутация:   0  


виджет (*Widget)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 3.8.2009, 19:59
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(Sergo @ 3.8.2009, 16:05) *
1. После вставки надо изменить xml документ. Куда надо вклиниться, чтобы отловить момент, когда библиотека отработала вставку, чтобы добавить свой кусок кода?

Возможно надо переопределить метод void QAbstractItemView::dropEvent ( QDropEvent * event ) [virtual protected]

Цитата(Sergo @ 3.8.2009, 16:05) *
Как в xml документе переподчинить елемент? Или надо делать клон, удалять старый элемент, потом вставлять клон куда надо?
Всем заранее спасибо.


Думаю зависит от парсера, которым ты пользуешься.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sergo
  опции профиля:
сообщение 10.8.2009, 16:15
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 31.7.2009
Пользователь №: 972

Спасибо сказали: 1 раз(а)




Репутация:   0  


Разобрался. Если кому интересно.
Ответ на 1. вопрос:
def dropEvent(self, event):
     QtGui.QTreeWidget.dropEvent(self, event)

Ответ на 2. вопрос:
QDomNode.insertAfter и QDomNode.insertBefore сами переподчиняют ветку

Всем спасибо. Тема закрыта.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Тема закрытаНачать новую тему
Теги


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 4.12.2020, 10:58