Я использую setGeometry()
, чтобы установить координату widget
. Но когда я удаляю widget
и удаляю его из основного макета, он не может правильно установить геометрию. Я использую KeyReleaseEvent()
, т. Е. Когда я нажимаю клавишу D, необходимо удалить определенный виджет и установить геометрию в определенную позицию. Когда я нажимаю его в первый раз, эффект не отображается, но виджеты удаляются и когда я нажимаю его во второй раз, он устанавливается правильно.Невозможно установить геометрию в QT
void mywindow::popUpWindow()
{
if(stack1->currentIndex()==0){
stack3->hide();
mainLayout->addWidget(stack2);
stack2->show();
stack2->setFixedSize(400,200);
this->setGeometry(100,400,900,200);
}
if(stack1->currentIndex()==1){
stack2->hide();
mainLayout->addWidget(stack3);
stack3->show();
stack3->setFixedSize(400,200);
this->setGeometry(100,400,900,200);
}
}
void mywindow::deleteWindow()
{
mainLayout->removeWidget(stack2);
mainLayout->removeWidget(stack3);
stack2->hide();
stack3->hide();
this->setGeometry(100,400,500,200);
}
popUpWindow()
связан с одним KeyReleasedEvent()
и deleteWindow()
связан с другим ключом.
Fig 1: Original WIndow
Fig 2: After calling popUpWindow() by pressing key I
Fig 3: After calling deleteWindow() by pressing key D for the first time
Fug 4: After calling again deleteWindow() for 2nd time