Russian Qt Forum
Июнь 11, 2024, 11:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Взаимодействие PyQt и приложения на Qt  (Прочитано 3065 раз)
paul_winex
Гость
« : Сентябрь 16, 2012, 21:18 »

Приветствую всех. У меня вопрос про интеграцию моего PyQT виджета в уже готовое приложение.
Речь идет о Autodesk Maya. В данный момент её интерфейс полностью написан на Qt. Для создания своих элементов интерфейса используется PyQt. Отдельно встроить  что-то кудато и оттуда выполнять майские команды - не проблема. но возникла задача взаимодействовать  с интерфейсом. В частности, по дефолту там реализована система drag&drop из нодового редактора на атрибуты других нод. И мне требуется из моего виджета так же перетаскивать эелменты на виджеты интерфейса майки. в общем так...

Имеется: окошка, написанная на PyQt. В своем составе имеет древовидный список, то есть является классом QTreeWidget.
Задача: организовать адекватный drag&drop элементов списка на майские виджеты (в Атрибут эдиторе).
Варианты:
- получить базовый виджет атрибутЭдитора, и переопределить у него функцию dropEvent. Результат не удачный. Либо совсем не сработало, либо чего то не хватает. Фитбек нулевой.
- получив виджет АЕ, добавить на него eventFilter на эвент drop. Результат так же нулевой, из-за того что Во время дропЭвента виджеты под курсором считывают дату из перетаскиваемого элемента, и при не соответствии типов отвергают эвент (типа нельзя, курсор соответственный), эвент drop вообще не заводится. В общем не срабатывает.
- переопределить у моего QTreeWidget'а функцию mouseReleaseEvent и в момент отпускания мыши тупо считывать виджет под курсором, и после делать с ним что угодно. Изврат полный но работает. Тем не менее после переопределения mouseReleaseEvent процесс перетаскивания перестал работать. Хоть и релиз срабатывает, но захвата нет. Отпускается ничто.
- узнать какие данные требуется передавать чтобы виджеты принимали данные как-будто от своих родных элементов. Записать в своих виджетах такие же данные. только я вообще не соображу как это сделать!

В общем я в тупике пока. есть ли у кого идейки как такое реализовать Непонимающий
Спасибо!
« Последнее редактирование: Сентябрь 17, 2012, 08:01 от paul_winex » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.038 секунд. Запросов: 17.