Qt 创建两个窗口

Qt 创建两个窗口,qt,Qt,你能给我举个例子来满足以下要求吗 一个应用程序有两个窗口/窗体,它们可以相互覆盖,它们不是父/子关系 一个窗口有一个按钮,可以像使用 QMessageBox::信息(this,tr(“你好”),tr(“世界”) 当消息框弹出时,另一个窗口仍然可以移动和拖动 我试过几次,都失败了,有人能给我举个例子吗 谢谢 一个应用程序有两个窗口/窗体,它们可以相互覆盖, 它们不是父/子关系。我们怎么能做到呢 使用Qt Creator生成的基于小部件的app main.cpp: #include "mainwin

你能给我举个例子来满足以下要求吗

  • 一个应用程序有两个窗口/窗体,它们可以相互覆盖,它们不是父/子关系

  • 一个窗口有一个按钮,可以像使用
    QMessageBox::信息(this,tr(“你好”),tr(“世界”)

  • 当消息框弹出时,另一个窗口仍然可以移动和拖动

  • 我试过几次,都失败了,有人能给我举个例子吗

    谢谢

    一个应用程序有两个窗口/窗体,它们可以相互覆盖, 它们不是父/子关系。我们怎么能做到呢

    使用Qt Creator生成的基于小部件的app main.cpp:

    #include "mainwindow.h"
    #include <QApplication>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        MainWindow w1; // very simplistic
        w1.show();     // demo    
        MainWindow w2; // for two main independent
        w2.show();     // windows in Qt
    
        // help show windows apart
        w2.move(w1.geometry().left() + 50,
                w1.geometry().top() + 50);
    
        return a.exec();
    }
    
    #包括“mainwindow.h”
    #包括
    int main(int argc,char*argv[])
    {
    质量保证申请a(argc、argv);
    MainWindow w1;//非常简单
    w1.show();//演示
    MainWindow w2;//用于两个独立的主窗口
    w2.show();//Qt中的窗口
    //帮助区分窗口
    w2.移动(w1.几何体().左()+50,
    w1.几何形状().顶部()+50);
    返回a.exec();
    }
    
    当然,这可以通过多种方式实现,我在我的一个应用程序中也采用了类似的方法。请注意,只有在您明确关闭两个“主”窗口后,应用程序才会退出,或者您可以为这两个窗口重载应用程序并从那里开始操作。因此,MainWindow生成的类将成为MyMainWindow类,其中包含新的事件处理程序。还请注意,在Windows中,您可以获得多个任务栏条目(也可以解决,但不回答此问题)

    您也收到了以下方面的好评:

    一个窗口有一个按钮,可以像使用 QMessageBox::信息(this,tr(“你好”),tr(“世界”)

    当消息框弹出时,另一个窗口仍然可以移动和关闭 拖曳我们怎么能做到呢


    应该有帮助。

    您熟悉QMdiArea吗?您可以显示“窗口模式”消息框,而不是默认的“应用程序模式”。请参阅QMessageBox::setWindowModality使对话框为非模态,我想要的结果是对话框阻止一个窗口,因为另一个窗口仍然可以拖动和移动尝试将主窗口指针作为父窗口传递给QMessageBox,并执行show()而不是exec();。