在qwidget中运行外部应用程序

时间:2012-10-01 19:09:26

标签: qt qt4

我们如何在QWidget中嵌入外部应用程序?

我使用QX11EmbedContainer尝试过相同但收到错误“XEvent尚未声明”。

我尝试了下面提到的代码('this'代表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();

容器对象我试图添加到tabwidget对象的当前选项卡,我想在其中运行一些外部应用程序(Application1)。 这是我的代码

     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);

Application1被执行但是在一个单独的窗口中,但我希望它在我的选项卡中运行

1 个答案:

答案 0 :(得分:2)

QX11EmbedContainer仅适用于X11(例如,在Linux上)。从它的外观来看,你试图在Windows上这样做。

我不太熟悉在Windows上使用Qt,但看起来ActiveQt模块提供了相同的功能。您可以在该框架内完成类似的事情。