1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| void VCombo::showPopup()
{
QWidget * v = view()->window();
QPoint wantedPosition = mapToGlobal(pos());
wantedPosition.setX(wantedPosition.x() + width()/2 + 1);
wantedPosition.setY(pos().y() + window()->y() + 51);
v->move(wantedPosition);
v->show();
QPropertyAnimation *animation = new QPropertyAnimation(v, "size");
animation->setDuration(150);
animation->setStartValue(QSize(QComboBox::sizeHint().width(), 15));
animation->setEndValue(QSize(QComboBox::sizeHint().width(), (count()>= 10 ? 10 : count()) * 13 + 2));
animation->start(QAbstractAnimation::DeleteWhenStopped);
} |