Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: dmitry.p от Апрель 10, 2013, 20:13



Название: Как создать выпадающее сверху окошко, по типу Окна Уведомлений iOS или Android?
Отправлено: dmitry.p от Апрель 10, 2013, 20:13
Как создать выпадающее сверху окошко, по типу функционала Окна Уведомлений iOS  или Android на Qt или с помощью QML?
Либо решение, как сбоку можно вытянуть панель при протягивании пальца по тачскрину.
Может быть кому-то попадались готовые решения или заготовки? Хотя бы в какую сторону копать...
Хотелось бы посмотреть как такое делается.
Не пинайте - в Qt и QML я новичок.


Название: Re: Как создать выпадающее сверху окошко, по типу Окна Уведомлений iOS или Android?
Отправлено: Bepec от Апрель 10, 2013, 22:19
Смотри - move позволяет двигать окно. А экран не кончается видимой областью :D т.е. окно на -1000,-1000 будет не видно, но будет. А если QPropertyAnimation его потихоньку вытаскивать - получится эффект вылезания из-за экрана.


Название: Re: Как создать выпадающее сверху окошко, по типу Окна Уведомлений iOS или Android?
Отправлено: dmitry.p от Апрель 11, 2013, 10:12
Смотри - move позволяет двигать окно. А экран не кончается видимой областью :D т.е. окно на -1000,-1000 будет не видно, но будет. А если QPropertyAnimation его потихоньку вытаскивать - получится эффект вылезания из-за экрана.
В QML это малой кровью не делается никак?


Название: Re: Как создать выпадающее сверху окошко, по типу Окна Уведомлений iOS или Android?
Отправлено: Bepec от Апрель 11, 2013, 10:13
QML наверняка имеет свой встроенный механизм, тем более в 5+ версиях. Но я с ним не работал.


Название: Re: Как создать выпадающее сверху окошко, по типу Окна Уведомлений iOS или Android?
Отправлено: BuRn от Апрель 11, 2013, 21:36
QML наверняка имеет свой встроенный механизм, тем более в 5+ версиях. Но я с ним не работал.
В qml делается подобным образом, часть экрана спрятана, и далее rectangle просто отрисовывается в невидимой области экрана. Ед что  мб вытянуть его проще будет чем через QPropertyAnimation. А так в принципе , та же хрень , только в профиль


Название: Re: Как создать выпадающее сверху окошко, по типу Окна Уведомлений iOS или Android?
Отправлено: dmitry.p от Апрель 12, 2013, 06:27
Я так понимаю, что тянется не та невидимая область явно, а событие возникает у панельки трея, на которой часики, значки событий, и если палец прошел вниз нужное расстояние, понимаемое как попытку вытянуть информационную скрытую панель, скрытая панель появляется с привязкой к текущему положению пальца. Вот как это реализовать на Qt, а лучше даже на QtQuick1?


Название: Re: Как создать выпадающее сверху окошко, по типу Окна Уведомлений iOS или Android?
Отправлено: lighting от Апрель 15, 2013, 11:06
Для отслеживания нажатия используйте MouseArea в событии onPositionChanged которого проверяйте, выполняется-ли условие и если оно выполняется то меняйте y для вашего "окошка". Чтобы "окошко" выезжало плавно добавьте поведение - Behaviour on y { NumberAnimation { easing.type: Easing.OutQuart; duration: 300}} ну или что-то в этом роде. Чтобы спрятать его обратно достаточно будет установить y = -height.