1

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

我使用 QX11EmbedContainer 尝试过相同的操作,但收到错误“XEvent has not been declared”。

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

我正在尝试将容器对象添加到我想在其中运行一些外部应用程序(Application1)的 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);

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

4

1 回答 1

2

QX11EmbedContainer仅适用于 X11(例如,在 Linux 上)。从外观上看,您正在尝试在 Windows 上执行此操作。

I'm not very familiar with using Qt on Windows, but it looks like the equivalent functionality is provided by the ActiveQt module. You might be able to accomplish something like this within that framework.

于 2012-10-01T21:41:55.430 回答