1
좌표를 설정하려면 setGeometry()
을 사용하고 있습니다. 하지만 일부 widget
을 삭제하고 기본 레이아웃에서 제거하면 기하학을 올바르게 설정할 수 없습니다. 나는 KeyReleaseEvent()
을 사용하고 있습니다. 즉, Key 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