gpt4 book ai didi

c++ - QT:如何同时打开多个窗口(QWidgets)?

转载 作者:太空宇宙 更新时间:2023-11-04 12:22:55 63 4
gpt4 key购买 nike

我正在做 web 界面测试程序,它应该同时在两个 webkit 窗口中打开两个 url。

我已经编写了测试自动化的代码。

1) 用户按下“开始”按钮,webkit (QWidget) 窗口打开

2) TestBot 类对象执行测试

3)关闭

现在我的问题:点击“开始”按钮后,如何打开两个(或三个或更多)webkit (QWidget) 窗口,我的意思是,如何同时启动多个 TestBot所以他们并行完成所有工作?

我明白,我需要研究多线程,我想到我需要将 QThread 继承到我的 TestBot 类定义中作为“class TestBot : public QThread”,但这是正确的解决方案吗?我做对了吗?接下来要做什么?

我不能把代码写成:

QThread process1;
QThread process2;
process1->start();
//some code here
process1->quit();

process2->start();
//some code here
process2->quit();

让一切并行工作?

我是 Winapp 世界的新手,我来自 Web 编程。希望得到您的帮助!

最佳答案

为了一次显示多个窗口,只需将它们排成一行并显示即可。

void ShowMultiple()
{
QWidget *win1 = new QWidget();
QWidget *win2 = new QWidget();
QWidget *win3 = new QWidget();

win1->show();
win2->show();
win3->show();
}

此代码运行后,应该会显示 3 个新的(空白)窗口。但是,如果您尝试执行一些需要很长时间才能显示窗口的代码,情况可能会有所不同。在这种情况下,您可能需要查看线程或 Qt::Concurrent 示例,记住您真的,真的不能在任何其他线程中弄乱 UI。

关于c++ - QT:如何同时打开多个窗口(QWidgets)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4004940/

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