qt 界面切换不能显示的问题。

镜i 2023-02-27 13:55:15

问题描述:有两个界面,A 和 B ,A 是B 的父窗体。从A 跳转到B ,再跳转回A 的时候, A界面不显示,但是点击屏幕相应的位置,还是可以响应A的功能(如点击按钮所在的地方,虽然没有界面,但是该按钮还是响应功能)。当再次从A 跳转到B ,再跳转回A 的时候, A界面可以显示。就是说,不显示的问题是程序启动的第一次跳转时候,出现的。以下是两个界面类的大致情况

class B : public QMainWindow

{

//....

void on_pushButton_clicked(){

        //......

        this->parentWidget()->show();

        hide();

   }

}

class A : public QMainWindow

{

//....

void on_pushButton_clicked(){

        //......

        B* b= new B(this);

        b->show();

        hide();

   }

}


转:qt 界面不能显示的问题。-CSDN社区

...全文
129 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
迟睁 1天前
  • 打赏
  • 举报
回复

跳转用exec()试试

  • 打赏
  • 举报
回复

我的没问题啊。

void MainWindow::openChildWin()
{
    this->hide();
    ChildMainWindow *child = new ChildMainWindow(this);
    child->show();
    child->raise();
}

```c++



void ChildMainWindow::showMain()
{
if (this->parentWidget()) {
this->hide();
this->parentWidget()->show();
this->parentWidget()->raise();
}
}

```

学笙 03-02
  • 打赏
  • 举报
回复

B* b= new B(this); 每一次点击都创建了一个新的B??????

镜i 02-27
  • 打赏
  • 举报
回复

焦点还在,因为keyevent事件能触发

相关推荐
发帖
Qt

1.5w+

社区成员

Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
帖子事件
创建了帖子
2023-02-27 13:55
社区公告
暂无公告