Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

How i embed an external window inside an PyQt5 Application?



  • I'm using PyQT5, and I want to run an external window application inside an TabWidget, something similar to that, but this example is for windows only, and i want to run in a linux (Ubuntu 14.04) os. I also find a similar problem in this thread but the answers didn't work. Is possible to embed an terminal, like this code, but i have no idea how to do the same with the RViz command. I have some code here, who uses wmctrl to pick the RViz (the application that i want to embed in my GUI) window ID, and try to put inside the "fromWinID()" class, but the window opens outside my app and also receive the error:

    QXcbConnection: XCB error: 3 (BadWindow), sequence: 415, resource id: -1222189812, major code: 7 (ReparentWindow), minor code: 0
    QXcbConnection: XCB error: 3 (BadWindow), sequence: 460, resource id: -1222189812, major code: 7 (ReparentWindow), minor code: 0
    QXcbConnection: XCB error: 3 (BadWindow), sequence: 461, resource id: -1222189812, major code: 8 (MapWindow), minor code: 0
    QXcbConnection: XCB error: 3 (BadWindow), sequence: 463, resource id: -1222189812, major code: 18 (ChangeProperty), minor code: 0
    QXcbConnection: XCB error: 3 (BadWindow), sequence: 464, resource id: -1222189812, major code: 12 (ConfigureWindow), minor code: 0

    I know that RViz has the librviz, but i also don't know how i integrate this inside an TabWidget. Someone can help me with that please?


Log in to reply