[PyQt] can't get QX11EmbedContainer to show in QMainWindow

Nenad Romic - Marcell m at rcell.net
Sat Aug 23 11:21:21 BST 2008


i'm working on demonstration of using ipython interactive shell in
rapid development of PyQt4 applications. it works as charm.. until ;)
at some moment i embed terminal window where ipython is running... it
works fine when i embed it into regular QWidget but i can't get it
into QMainWindow...

in QMainWindow i have QWidget in CentralWidget with QVBoxLayout... the
upper part is custom QGraphicsItem represented in QGraphicsView of one
QGraphicsScene... so far so good... in the bottom part i want to have
QX11EmbedContainer with terminal and ipython... it doesn't show... i
tried embedding it before showing either QMainWindow, QWidget or
QX11EmbedContainer and showing any of these in any particular order
(ie. first showing QX11EmbedContainer, then addWidget into QWidget,
showing it and then showing QMainWindow and at last
QMainWindow.setCentralWidget(QWidget))

i also tried to to embed QX11EmbedContainer into QDockWidget.. the
same like CentralWidget.. it goes off from screen but it doesn't
show in the qt widget....

in every case i tried both embedding windows as embedClient(0x2800006)
or wid = container.winId() and then QProcess.start with right list of
parameters.... when it works it works both way as expected...

is there any particular right way to do that? any suggestions?

the code is at:
http://paste.lisp.org/display/65729

the sooperlooper_qt.py is my custom QGraphicsItem and the one can use
any QLabel or something like that... it doesn't really matter...


More information about the PyQt mailing list