Russian Qt Forum
Ноябрь 24, 2024, 01:50
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Отсоединяющиеся Tab'ы в QTabWidget
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Отсоединяющиеся Tab'ы в QTabWidget (Прочитано 7346 раз)
Chuzhik
Гость
Отсоединяющиеся Tab'ы в QTabWidget
«
:
Июнь 17, 2013, 12:29 »
Столкнулся с проблемой, которую не могу решить уже несколько дней.
Возможно просто не хватает фантазии.
Имеется некоторый GUI. В нём на QTabWidget динамически создаются вкладки некоторых модулей, появилась необходимость сделать эти странички отсоединяемыми, аля QDockWidget, но без существенных изменений внешнего вида (пользователей жалко).
То есть это, по сути, должно выглядить как "гугл хром". вкладку можно взять и драгэндропнуть в свободную область экрана.
есть хоть что-то штатное в Qt4 для этого?
пока даже элементарно не могу найти соответствующих сигналов-слотов...
хотелось бы решить задачу "малой кровью", не рубить уже устоявшуюся архитектуру.
Помогите советом, пожалуйста))
Записан
Странник
Гость
Re: Отсоединяющиеся Tab'ы в QTabWidget
«
Ответ #1 :
Июнь 17, 2013, 14:10 »
если я правильно понял вашу задачу, вам необходимо обрабатывать дроп на "свободную область экрана". насколько я знаю, средствами Qt это не решается.
Записан
Bepec
Гость
Re: Отсоединяющиеся Tab'ы в QTabWidget
«
Ответ #2 :
Июнь 17, 2013, 14:17 »
Как не решается? До тех пор, пока он не дропнул, события приходят
Просто нужно создать виджет одновременно с удалением таба из tabWidget и перемещать вслед за мышкой.
Записан
Chuzhik
Гость
Re: Отсоединяющиеся Tab'ы в QTabWidget
«
Ответ #3 :
Июнь 17, 2013, 14:20 »
Цитата: Странник от Июнь 17, 2013, 14:10
если я правильно понял вашу задачу, вам необходимо обрабатывать дроп на "свободную область экрана". насколько я знаю, средствами Qt это не решается.
Да, Вы меня правильно поняли. Я так и думал, спасибо. Сейчас унаследывал от QTabWidget и от QTabBar два своих класса, пытаюсь разобраться. Невозможного нет, просто я не могу понять какой алгоритм должен быть реализован для отсоединения вкладки в отдельное окно, как опытный разработчик, поправьте меня:
По двойному щелчку мыши по вкладке, основной виджет долженсоздать окно (док, например) и передать этому окну указатель на виджет, установленный в выбраной вкладке, а вкладку нужно спрятать. Например.
Это только что пришло в голову и пока очень сумбурно, как Вы думаете, это быдло-путь? или это имеет право на жизнь?
Записан
Chuzhik
Гость
Re: Отсоединяющиеся Tab'ы в QTabWidget
«
Ответ #4 :
Июнь 17, 2013, 14:21 »
Цитата: Bepec от Июнь 17, 2013, 14:17
Как не решается? До тех пор, пока он не дропнул, события приходят
Просто нужно создать виджет одновременно с удалением таба из tabWidget и перемещать вслед за мышкой.
как Вы меня опередили) А можно ли при этом сохранить обращения к перемещаемому виджету как ко вкладке?
по айди вкладки в QTabWidget?
Записан
Bepec
Гость
Re: Отсоединяющиеся Tab'ы в QTabWidget
«
Ответ #5 :
Июнь 17, 2013, 14:28 »
Не получится. Или вкладка, или виджет. Да и зачем вам такое "поведение"?
Алгоритм -
1) действие пользователя (перетаскивание)
2) создание нового tabWidget.
3) добавление в tabWidget переносимой вкладки.
4) перемещение за курсором мыши (пока пользун не отожмёт клавишу)
5) анализ дропа, если за пределы родного окна, то оставляем всё как есть, если на окне, то переносим вкладку обратно, tabWidget новый удаляем.
Записан
Chuzhik
Гость
Re: Отсоединяющиеся Tab'ы в QTabWidget
«
Ответ #6 :
Июнь 17, 2013, 14:37 »
Цитата: Bepec от Июнь 17, 2013, 14:28
Да и зачем вам такое "поведение"?
Очень просто, природная лень) просто взаимодействие страниц (расположенных на вкладках), так уж исторически сложилось, завязанно на айди табов. но да. я уже понял, что придётся менять.
Спасибо) я примерно понял. Буду пробовать)
Записан
Bepec
Гость
Re: Отсоединяющиеся Tab'ы в QTabWidget
«
Ответ #7 :
Июнь 20, 2013, 09:41 »
Вы можете поведение переписать, основываясь на айди табов, которые будут сохраняться в мапе. Чуть сложнее, но зато никаких особых проблем не будет.
Записан
YvenTitan
Самовар
Offline
Сообщений: 174
Re: Отсоединяющиеся Tab'ы в QTabWidget
«
Ответ #8 :
Февраль 08, 2017, 14:24 »
За 4 года появилось в QT что-то штатное?
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: Отсоединяющиеся Tab'ы в QTabWidget
«
Ответ #9 :
Февраль 08, 2017, 19:28 »
Ну если только вместо tabwidget-а изначально задействовать dockwidget-ы (по штуке на каждую вкладку таба)...
Вроде, все что нужно есть... штатно )
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...