Название: выплывающий виджет Отправлено: romanick от Май 21, 2010, 16:14 Привет.
Есть виджет с кнопкой, при нажатии на которую должен появляться другой виджет. Но не просто появляться, а выплывать из под нижнего края первого виджета. Т.е. второй виджет должен быть ПОД первым. К тому же по-ширине второй должен быть уже первого. В каком направлении копать? Не хочется тупо менять положение виджета в цикле, т.к. на машинах с разной производительностью это будет работать по разному. Буду безмерно благодарен за любой работающий пример. Название: Re: выплывающий виджет Отправлено: Sanya от Май 21, 2010, 18:18 Доброго времени суток.
Я сделал по таймеру(в QObject есть встроенный таймер). Точнее, просто сделал класс которому передается ссылка на объект типа QWidget и он по своему таймеру изменяет либо его размер либо maximumSize. Отсчет милисекунды(еденицы таймера) будет на всех машинах одинаков - за этим процессор следит. Или я не прав? Название: Re: выплывающий виджет Отправлено: kibsoft от Май 21, 2010, 18:27 romanick, точно незнаю, но попробуй покапать Qt State Machine.
В Qt Quick это можно сделать легко вроде. Название: Re: выплывающий виджет Отправлено: Amigo_sa от Май 21, 2010, 18:29 Добрый день. Ваша задача легко решается с помощью Animation Framework. В этой (http://www.prog.org.ru/topic_12149_0.html) теме я разбирался с ее производительностью. Там же есть примеры реализации. Если контент не сложный, то все работает быстро.
Название: Re: выплывающий виджет Отправлено: romanick от Май 25, 2010, 09:03 Добрый день. Ваша задача легко решается с помощью Animation Framework. В этой (http://www.prog.org.ru/topic_12149_0.html) теме я разбирался с ее производительностью. Там же есть примеры реализации. Если контент не сложный, то все работает быстро. Да, разобрался, - всё действительно очень легко. Даже проще чем я предполагал. Спасибо!Название: Re: выплывающий виджет Отправлено: romanick от Июль 01, 2010, 10:48 Возвращаюсь к этой теме опять.
Не могу подобрать нужную комбинацию флагов (setWindowFlags) для этих двух виджетов. Надо выполнить сдедующие условия: 1. Для обоих виджетов не должно быть кнопки в панели задач. 2. второй (выплывающий) виджет всегда должен быть под первым 3. после того как второй виджет появился, на него переходит фокус, но фокус может быть возвращён в первый виджет без закрытия второго (т.е модальность не походит). Первый виджет содержит в себе указатель на второй. Первый виджет вызывается в не модальном режиме. Таким образом, два виджета должны вести себя как одно целое. Может кто-то делал подобную задачу? Или может быть подскажите как можно сделать по-другому? Должно работать одинаково и под Linux и под Windows. Название: Re: выплывающий виджет Отправлено: GreatSnake от Июль 01, 2010, 12:09 http://www.prog.org.ru/topic_13982_0.html
http://www.prog.org.ru/topic_14136_0.html Qt::WindowStaysOnTopHint, Qt::WindowStaysOnBottomHint |