2012-07-11 23 views
6

Mam następujący problem: Chcę zmienić rozmiar okna przy użyciu QPropertyAnimation, aby wyglądał ładnie, ale okno także natychmiast się porusza podczas zmiany rozmiaru, a ja tego nie chcę, po prostu chcesz zmienić rozmiar okna i nie zmieniać jego wartości pozycji.Zmiana rozmiaru okna przy użyciu QPropertyAnimation

Tak, tu jest mój kodu:

animation = new QPropertyAnimation(this, "geometry"); 
animation->setDuration(150); 
animation->setStartValue(QRect(preferences::x(), preferences::y(), width, window_height_min)); 
animation->setEndValue(QRect(preferences::x(), preferences::y(), width, window_height_min+expand_general_to)); 
animation->start(); 

gdzie szerokość i window_height_min i expand_general_to są moje własne zmienne, które zajmują kwotę zmiany rozmiaru, który ma być zrobione. ALE, preferencje :: x() i preferencje :: y() naprawdę zajmują pozycję mojego okna, więc dlaczego się porusza, a preferencje :: x() będą takie same za każdym razem? (na początku i na końcu)?

Z góry dziękuję za wszelkie odpowiedzi!

Odpowiedz

8

Proszę spróbować ustawić właściwość rozmiaru.

animation = new QPropertyAnimation(this, "size"); 
animation->setDuration(150); 
animation->setStartValue(QSize(width, window_height_min)); 
animation->setEndValue(QSize(width, window_height_min+expand_general_to)); 
animation->start(); 
Powiązane problemy