gpt4 book ai didi

c++ - 无法在QT中设置几何

转载 作者:太空宇宙 更新时间:2023-11-04 11:39:37 26 4
gpt4 key购买 nike

我正在使用 setGeometry() 来设置 widget 的坐标。但是当我删除一些 widget 并将其从主布局中删除时,它无法正确设置 Geometry。我正在使用 KeyReleaseEvent() 即,当我按下 D 键时,应该删除某些小部件,并且应该将 Geometry 设置到特定位置。当我第一次按下它时,看不到效果但小部件被删除,当我第二次按下它时它设置正确。

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() 与另一个 Key 关联。

Original WIndow

After pressing I Key and calling popWindow()

After pressing D key and calling deleteWindow() After pressing 2nd time D Key and calling deleteWindow for the 2nd time

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

最佳答案

删除小部件后,如果您希望一切都很好地调整大小,您应该调用 adjustSize()

此外,堆叠小部件的小部件大小也会影响窗口最终的最终宽度和高度。

希望对您有所帮助。

关于c++ - 无法在QT中设置几何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21821264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com