hello group,<div><br></div><div>came across a nice feature in gtk that embeds applications in a gtk widget using the xembed protocol. i looked around to see if (py)qt has similars. windows users are not so fortunate however.</div>
<div><br></div><div>i learned about a SetParent win32 api call (<a href="http://msdn.microsoft.com/en-us/library/ms633541(VS.85).aspx">http://msdn.microsoft.com/en-us/library/ms633541(VS.85).aspx</a>). and that qt can return a native window id. so i came up with the following code (which does not work, mind you :) )</div>
<div><br></div><div>anyone who knows better has an idea how it can be accomplished?</div><div><br></div><div>thanks a lot in advance</div><div><br></div><div>=================</div><div><br></div><div><br></div><div><div>
import sys</div><div>import ctypes</div><div>import subprocess</div><div><br></div><div>from PyQt4 import QtGui</div><div><br></div><div><br></div><div>if __name__ == '__main__':</div><div>    app = QtGui.QApplication(sys.argv)</div>
<div>    process = subprocess.Popen(['c:/vim/vim72/gvim.exe'])</div><div>    </div><div>    # this call is to get the process window handle</div><div>    SYNCHRONIZE = 0x00100000</div><div>    handle = ctypes.windll.kernel32.OpenProcess(</div>
<div>        SYNCHRONIZE, False, process.pid</div><div>    )</div><div><br></div><div>    w = QtGui.QWidget()</div><div>    wid = w.winId()     # this one turns out to be an void* c type, might be the culprit</div><div>    w.show()</div>
<div><br></div><div>    ctypes.windll.user32.SetParent(handle, int(wid))</div><div><br></div><div>    sys.exit(app.exec_())</div></div><div><div><br>-- <br>victor<br>
</div></div>