Russian Qt Forum
Октябрь 23, 2018, 07:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Помещение виджета в QTabWidget мышкой  (Прочитано 777 раз)
Larry
Программист
*****
Offline Offline

Сообщений: 556



Просмотр профиля
« : Июль 23, 2018, 15:46 »

Добрый день, форумчане.
Есть приложение и в нем можно открывать много виджетов с дополнительной информацией. Необходимо реализовать перетаскивание произвольного виджета в QTabWidget мышкой. Как такое можно реализовать?
Спасибо.
Записан
Larry
Программист
*****
Offline Offline

Сообщений: 556



Просмотр профиля
« Ответ #1 : Июль 30, 2018, 09:41 »

Попытался отлавливать в QTabWidget события dragEnterEvent и dropEvent, но ни то, ни другое не происходит при перемещении на QTabWidget любого виджета...setAcceptDrops(true) включил. Чего не хватает?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2917



Просмотр профиля
« Ответ #2 : Июль 30, 2018, 15:16 »

QTabWidget состоит из 2-х виджетов: QTabBar и QStackedWidget.
Наверное d'n'd нужно навешивать на QTabBar.
Записан

Qt 5.11/4.8.7 (X11/Win)
Larry
Программист
*****
Offline Offline

Сообщений: 556



Просмотр профиля
« Ответ #3 : Июль 30, 2018, 15:59 »

Спасибо, попробую.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 10201


Просмотр профиля
« Ответ #4 : Июль 31, 2018, 04:22 »

QTabWidget состоит из 2-х виджетов: QTabBar и QStackedWidget.
Наверное d'n'd нужно навешивать на QTabBar.
Или на оба. Напр мышь наезжает на вкладку - та становится активной
Записан
Larry
Программист
*****
Offline Offline

Сообщений: 556



Просмотр профиля
« Ответ #5 : Июль 31, 2018, 08:10 »

Не получилось, т.е. dragEnterEvent и dropEvent не вызываются, когда на QTabWidget перетаскиваешь виджет (он сделан отдельным окном с флагом Qt::Window)...А если перетягивать какой либо файл или папку из проводника, то все срабатывает...
« Последнее редактирование: Июль 31, 2018, 08:27 от Larry » Записан
Larry
Программист
*****
Offline Offline

Сообщений: 556



Просмотр профиля
« Ответ #6 : Июль 31, 2018, 13:04 »

Решил добавить минимальный проект. Есть QMainWindow и на нем QTabWidget, а также создается и выводится QWidget. При наведении виджета на QTabWidget ничего не происходит.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

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