Russian Qt Forum
Ноябрь 26, 2024, 06:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Анимация QDockWidget  (Прочитано 2176 раз)
Larry
Гость
« : Декабрь 29, 2015, 16:50 »

Добрый день.
Возник вот какой вопрос. Есть QDockWidget, который должен плавно сворачиваться/разворачиваться, но никак не получается с помощью анимации свернуть dockwidget полностью...Есть ли возможность указать принудительно минимальные размеры для titlewidget, т.к. по ходу он не дает сворачиваться до конца? Спасибо...

Код:
//---------------------------------
void CMainWindow::slotDockBarRoll()
{
    QPropertyAnimation* animation = new QPropertyAnimation(ui->dockBar, "geometry");

    bool isDockBar = (ui->dockBar->isVisible())?false:true;

    QRect brect;
    QRect erect;

    if(isDockBar)
    {
        brect = QRect(ui->dockBar->pos().x(), ui->dockBar->pos().y(), /*ui->widget->width()*/60, ui->dockBar->height());
        erect = QRect(ui->dockBar->pos().x(), ui->dockBar->pos().y(), 386, ui->dockBar->height());
    }
    else
    {
        brect = QRect(ui->dockBar->pos().x(), ui->dockBar->pos().y(), ui->dockBar->width(), ui->dockBar->height());
        erect = QRect(ui->dockBar->pos().x(), ui->dockBar->pos().y(), /*ui->widget->width()*/0, ui->dockBar->height());
    }
   
    animation->setDuration(1000);
    animation->setStartValue(brect);
    animation->setEndValue(erect);

    animation->start();

    connect(animation, SIGNAL(finished()), this, SLOT(slotFinishedAnimation()));
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.13 секунд. Запросов: 21.