Имам модален QDialog, който при щракване на бутон плъзга безмоден дъщерен QDialog отдолу. Проблемът, който имам, е, че детето остава върху родителя си по време на анимацията.
Мисля, че мога да се размина с прилагането на маска върху частта от детето, която припокрива родителя, но имам чувството, че пропускам по-очевиден начин просто да поставя детето под родителя.
Използвам Qt 4.5. Ето примерен код:
void MainWindow::on_myMenu_triggered()
{
parentDlg = new QDialog(this);
parentDlg->setFixedSize(250, 250);
parentDlg->setModal(true);
parentDlg->show();
childDlg = new QDialog(parentDlg);
childDlg->setFixedSize(150, 150);
childDlg->show();
QTimeLine* timeLine = new QTimeLine(1000, this);
connect(timeLine, SIGNAL(valueChanged(qreal)), this, SLOT(childDlgStepChanged(qreal)));
timeLine->start();
}
void MainWindow::childDlgStepChanged(qreal)
{
int parentX = parentDlg->frameGeometry().x();
int parentY = parentDlg->geometry().y();
// Move the child dialog to the left of its parent.
childDlg->move(parentX - 150 * step, parentY);
}
Благодаря предварително.