gpt4 book ai didi

c++ - 无法从主窗口打开小部件

转载 作者:行者123 更新时间:2023-11-28 06:30:53 25 4
gpt4 key购买 nike

我想从我的主窗口打开一个小部件。我认为这很容易做到,我阅读的所有教程都是这样做的:

void MainWindow::on_pushButton_Types_clicked()
{
m_typesWin = new TypesWindow(m_db, this);
m_typesWin->show();
this->hide();
}

但是,如果我不将“this”传递给构造函数,这只对我有用。当我将“this”添加到构造函数时,我没有看到小部件,程序就停止了。如果我不隐藏“this”,那么我可以看到我的小部件的一部分实际上在我的主窗口中。我不知道为什么。

编辑:这些类是由 QtCreator 自动创建的,所以它们应该没问题。

最佳答案

如果您希望 QWidget 显示为窗口,则不应为该小部件指定父小部件。在这里,因为您将主窗口指定为 TypesWindow 的父窗口,所以 TypesWindow 嵌入到主窗口中。因此,当您隐藏主窗口时,嵌入在主窗口中的 TypesWindow 也会被隐藏。

因为您希望 TypesWindow 成为一个单独的窗口,所以不要将父窗口部件传递给 TypesWindow 构造函数中的 QWidget 构造函数。如果要从 TypesWindow 访问主窗口,可以将主窗口指针存储在 TypesWindow 的指针字段中。

关于c++ - 无法从主窗口打开小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27613622/

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