Emacs embedded in a Qt Application -
i've tried embed emacs in qt application using qx11embedcontainer
, , works 2 important exception. first of all, here code:
#include <qx11embedwidget> #include <qtgui> #include <qapplication> int main(int argc, char *argv[]) { qapplication app(argc, argv); qx11embedcontainer container; container.show(); container.resize(500, 500); qprocess* process = new qprocess(&container); qstring executable("emacsclient"); qstringlist arguments; arguments << "--parent-id" << qstring::number(container.winid()); process->start(executable, arguments); int status = app.exec(); process->close(); return status; }
and compilation , execution line (and previous thrown of emacs server):
$ emacs -q --daemon & // filtered output $ g++ test.cpp -lqtgui -lqtcore -i/usr/include/qt4/qtcore -i/usr/include/qt4/qtgui -i/usr/include/qt4 $ ./a.out
and finally, result:
but, when or if try write in minibuffer, size of widget collapsed, , focus lost:
if make click in (now shorter) widget, can continue working emacs without problems, should resize window in order emacs expanded other time originally.
where problem?
try using layout.
here qt5 documentation on layout management.
Comments
Post a Comment