Emacs嵌入在Qt应用程序中

前端之家收集整理的这篇文章主要介绍了Emacs嵌入在Qt应用程序中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用QX11EmbedContainer在一个Qt应用程序中嵌入emacs,并且有两个重要的例外.首先,这是代码
  1. #include <QX11EmbedWidget>
  2. #include <QtGui>
  3. #include <QApplication>
  4.  
  5. int main(int argc,char *argv[])
  6. {
  7. QApplication app(argc,argv);
  8.  
  9. QX11EmbedContainer container;
  10. container.show();
  11. container.resize(500,500);
  12.  
  13. QProcess* process = new QProcess(&container);
  14. QString executable("emacsclient");
  15.  
  16. QStringList arguments;
  17. arguments << "--parent-id" << QString::number(container.winId());
  18.  
  19. process->start(executable,arguments);
  20.  
  21. int status = app.exec();
  22.  
  23. process->close();
  24.  
  25. return status;
  26. }

以及编译和执行行(以及之前抛出的emacs服务器):

  1. $emacs -q --daemon &
  2. // filtered output
  3. $g++ test.cpp -lQtGui -lQtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4
  4. $./a.out

最后,结果是:

但是,当我尝试在迷你缓冲区中写入内容时,窗口小部件的大小会崩溃,焦点也会丢失:

如果我在(现在更短的)小部件中点击,我可以继续使用emacs而不会出现问题,但我应该调整窗口大小,以便emacs在原来的其他时间扩展.

问题出在哪儿?

解决方法

尝试使用布局.

Here是关于布局管理的Qt5文档.

猜你在找的CSS相关文章