Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] как реализовать всплывающий виджет?


Автор: andrew_121 23.11.2009, 15:32
В общем, вот что требуется.
http://ipicture.ru/

Когда кликаю "второстепенная карта", чтоб в том месте где стрелка, белая область(GraphicsView), сползла вниз на необходимое расстояние. А в том месте, появился GroupBox с ComboBox. Я, в ComboBox выбираю что мне нужно, после чего, все становится как прежде.

Вот smile 

Как такое реализовать?

Автор: JackYF 23.11.2009, 17:30
Наверное, ты имел в виду "[Qt]"? Это не указано нигде в вопросе.

По вопросу - ну так создай виджет за пределами главного виджета, и по событиям "выбрана такая-то" карта меняй высоту виджета. Либо, если хочется не трогать Layout'ы, создавай виджет прямо на ходу.

Автор: SABROG 23.11.2009, 17:47
Типа http://crossplatform.ru/node/242?

Так сделать можно, а вот чтоб анимация...

user posted image

Автор: niXman 23.11.2009, 21:28
На контролы, устанавливаешь вертикальный алигнмент, а для GroupBox вызываешь метод setVisible(true) | setVisible(false)

Автор: null56 23.11.2009, 22:51
если по аналогии с kde4, то тогда надо лезть в исходники plasma

Автор: niXman 24.11.2009, 00:09
null56, Никуда не нужно лезть!
Все много проще.
В приложении.

Автор: W4FhLF 24.11.2009, 11:18
Цитата(SABROG @  23.11.2009,  17:47 Найти цитируемый пост)
Так сделать можно, а вот чтоб анимация...


Если с 4.6 то не проблема вообще. Вот у меня плавное разворачивание окна лога сделано так:

Код

void LogWnd::show()
{
    QPropertyAnimation* animation = new QPropertyAnimation(this, "geometry");
    animation->setDuration(500);
    animation->setStartValue(QRect(x(), y(), size().width(), 0));
    animation->setEndValue(QRect(x(), y(), size().width(), size().height()));
    animation->start();

    setVisible(true);
}

Автор: kuzulis 24.11.2009, 13:07
А если посмотреть в исходники qmmp или quitIM ?

Добавлено через 1 минуту и 58 секунд
Упс.. не то ляпнул.. Сорри.

Автор: chaos 24.11.2009, 13:19
Цитата(W4FhLF @  24.11.2009,  08:18 Найти цитируемый пост)
Если с 4.6 то не проблема вообще

опередил smile
ИМХО самое правильное решение!

Добавлено через 3 минуты и 26 секунд
ЗЫ хочу добавить что такое же можно заюзать и с 4.5 (ftp://ftp.qt.nokia.com/qt/solutions/lgpl/qtanimationframework-2.3-opensource.zip)

Автор: andrew_121 24.11.2009, 14:16
W4FhLF, Гы smile  Прикольнинько smile

Добавлено через 23 секунды
Тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)