Форум сайта python.su
Ткая вот задача возникла. Есть приложение, в котором в главном окне (QtGui.QMainWindow) создаются насколько виджетов, их можно перетаскивать мышкой (self.setDockOptions(QtGui.QMainWindow.AnimatedDocks | QtGui.QMainWindow.AllowNestedDocks | QtGui.QMainWindow.AllowTabbedDocks). Теперь стоит такая задача - надо создать второе окно и сделать так, чтобы туда можно было перетащить виджет методом drap&drop. Есть ли примеры, как такое можно сделать? Когда я подцепляю виджет, то он хочет докиться только к основному окну. Когда переносишь его на второе - то просто не реагирует.
Нашел в инете пример, но он не работет. Идея такая, ловишь сигнал dock.topLevelChanged, который появляется когда ты начинаешь тащить виджет, запоминаешь что тащишь, а потом во втором окне переписываешь enterEvent и, проверяя, тащилось ли что-то перетегиваешь программо виджет. Проблема в том, что когда ты тащишь виджет - enterEvent во втором окне не генерируется.
Есть ли примеры как такое сделать?
ЗЫ есть еще dockLocationChanged, но он появляется только когда ты присоединяешь виджет куда-то в основном окне. Когда выносишь его куда-то за окно, то в эфире тишина…
Отредактировано yamedvedya (Март 13, 2018 14:59:45)
Офлайн