所以这是我试图完成的一个微不足道的例子:
使用QX11EmbedContainer和QX11EmbedWidget,我可以创build两个独立的应用程序,从一个embedded到另一个(容器< – widget)的窗口中。 我想在Firefox中做同样的事情,并将小部件embedded到插件中。
所以我创build了一个基本的插件,它只包含QX11EmbedContainer(从“简单”的qtbrowserplugin示例开始),仅用于testing目的,另一个通用的小部件。
结果是通用小部件在插件内部显示得很好,但容器小部件“popup”到一个单独的窗口。
这发生在Firefox,Chrome甚至Konqueror下。
所以问题是 – 是否可以将外部Qt小部件embedded到插件中?
答案是肯定的,但Qt代码是错误的,这就是为什么我不包括它 – 你不会想要它。 管理(在奇趣工程师的帮助下)插入一个香草QTextEdit小部件。 试图输入文字时,插件会崩溃,经常采取Firefox。 很明显,将Qt对象直接嵌入到插件中是不行的。
我也试着用mozplugger单独启动它,但是这有它自己的问题 – 主要是焦点没有正确的跟踪,并且经常会丢失,需要你重新启动插件才能恢复。