![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
sidsukana |
![]()
Сообщение
#11
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Проблему решил, методом, который предложил Алексей
![]() |
|
|
iReset |
![]()
Сообщение
#12
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 178 Регистрация: 6.6.2012 Пользователь №: 3414 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Алексей1153 |
![]()
Сообщение
#13
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
iReset, тут такая штука: есть окно, которое надо скрыть (или даже замочить вовсе) ; есть также объект класса анимации. Их создали, настроили , запустили. И забыли про них, анимация в отдельном потоке идёт (или, во всяком случае - асинхронно, так как GUI во время анимации доступен юзеру)
далее всё происходит автоматом: -Анимация сделала своё плавное дело, вызвала слот завершения, -В слоте скрылось/удалилось окно -Удалился объект класса анимации |
|
|
iReset |
![]()
Сообщение
#14
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 178 Регистрация: 6.6.2012 Пользователь №: 3414 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
iReset, тут такая штука: есть окно, которое надо скрыть (или даже замочить вовсе) ; есть также объект класса анимации. Их создали, настроили , запустили. И забыли про них, анимация в отдельном потоке идёт (или, во всяком случае - асинхронно, так как GUI во время анимации доступен юзеру) далее всё происходит автоматом: -Анимация сделала своё плавное дело, вызвала слот завершения, -В слоте скрылось/удалилось окно -Удалился объект класса анимации Как всё работает, я знаю. Я не понял, что НЕ работало. В своём первом посте sidsukana написал, что виджет исчезает, но сразу, без анимации. Как сигнал finished смог помочь появиться плавной анимации, вот этого я не пойму. |
|
|
Алексей1153 |
![]()
Сообщение
#15
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
iReset, всё зависит от его кода, который мы не видим. Предположу, что это у него делается в closeEvent или showEvent с вызовом родительской виртуалки. Поэтому окно скрывалось сразу, а анимацию просто не было видно
|
|
|
sidsukana |
![]()
Сообщение
#16
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
При появлении я запускал анимацию - start() и сразу же запускал отображение окна show(). Поэтому происходила как бы такая штука, что запускаем анимацию, а так как окно уже стало видимым, анимация была видна пользователю.
Если сделать наоборот, запустить сразу hide() после запуска анимации, то окно становится невидимым для пользователя, и соответственно анимация тоже. Поэтому надо вначале отыграть анимацию, а потом уже окончательно убить/скрыть окно по ее завершении. Надеюсь понятно изложил ![]() |
|
|
iReset |
![]()
Сообщение
#17
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 178 Регистрация: 6.6.2012 Пользователь №: 3414 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
При появлении я запускал анимацию - start() и сразу же запускал отображение окна show(). Поэтому происходила как бы такая штука, что запускаем анимацию, а так как окно уже стало видимым, анимация была видна пользователю. Если сделать наоборот, запустить сразу hide() после запуска анимации, то окно становится невидимым для пользователя, и соответственно анимация тоже. Поэтому надо вначале отыграть анимацию, а потом уже окончательно убить/скрыть окно по ее завершении. Надеюсь понятно изложил ![]() Да, теперь понятно, я отвечал не на тот вопрос. Если честно, то упустил, что виджет исчезает сразу. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 15.5.2025, 21:54 |