运行一个QWidget内外部应用程序(Run an external application ins

2019-08-01 02:14发布

我们如何嵌入一个QWidget内外部应用程序?

我一直在使用QX11EmbedContainer但得到错误“XEvent还没有被宣布为”尝试相同。

我曾尝试下面提到代码(“这个”代表一个QWidget类参考)

     QX11EmbedContainer * container = new QX11EmbedContainer(this);
     container->show();

     QProcess * process = new QProcess(container);
     QString executable("\"C:\\Program Files\\Windows Media Player\\wmplayer.exe\"");

     process->start(executable);

     this->show();

容器对象我试图添加到我要运行一些外部应用程序(应用程序1)tabwidget对象的当前标签。 这是我的代码

     QTabWidget *tabWidget = new QTabWidget;

     /* Trying to add external appllication to a tab of tabwidget object */
     QX11EmbedContainer * container = new QX11EmbedContainer(tabWidget->currentWidget());
     container->show();

     QProcess * process = new QProcess(container);
     QString executable("/home/abhishek/practice/Applicaion1");

     process->start(executable);

应用1被执行,但在一个单独的窗口,但我希望它在我的标签运行

Answer 1:

QX11EmbedContainer仅适用于X11(例如,在Linux上)。 从外观上来看,你要做到这一点在Windows上。

我不是很熟悉,在Windows上使用Qt,但它看起来像等效的功能提供ActiveQt可模块。 您可能能够在该框架内完成这样的事情。



文章来源: Run an external application inside a qwidget
标签: qt qt4