ubuntu下qt程序嵌入外部程序窗口怎样实现,注意什么?有一个例子吗?

1.怎样获取外部窗口ID?我没有实现出qt嵌入外部程序窗口,如下:
m_process = new QProcess();
// m_process->setProcessChannelMode(QProcess::MergedChannels);
m_process->start(QString("mysql-workbench"));

qint64 pid = m_process->processId();//以前没有实现过,当前测试pid不为0。
WId id = (WId)get_win_id_from_pid(pid); //网上找的接口获取对应外部窗口ID,但是获取id一直为0.(此链接下最后面)

QVBoxLayout *layout = new QVBoxLayout;
if(QWindow *window = QWindow::fromWinId(id)){
    if(QWidget *widget1 = QWidget::createWindowContainer(window,NULL)){
        layout->addWidget(widget1);
        ui->widget->setLayout(layout);
    }
}

链接:https://blog.csdn.net/superkeep/article/details/88948634?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.pc_relevant_baidujshouduan&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.pc_relevant_baidujshouduan

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。