C++ 将QWidget嵌入到其他应用程序中

C++ 将QWidget嵌入到其他应用程序中,c++,cocoa,qt,C++,Cocoa,Qt,最近我偶然发现了QMacNativeWidget(and),它基本上可以在原生Cocoa应用程序中使用Qt小部件,而不必使用QApplication 现在我想知道是否有可能采用这种技术将Qt小部件嵌入到其他GUI工具包中,比如我想将QWidget Foo放在couluikit Bar中。乍一看,这似乎非常简单,例如,主要功能是正确地调整getembeddaleview: NSView*getembeddaleview(QWindow*qtWindow) { //确保已创建平台窗口 qtWindo

最近我偶然发现了QMacNativeWidget(and),它基本上可以在原生Cocoa应用程序中使用Qt小部件,而不必使用QApplication

现在我想知道是否有可能采用这种技术将Qt小部件嵌入到其他GUI工具包中,比如我想将
QWidget Foo
放在
couluikit Bar
中。乍一看,这似乎非常简单,例如,主要功能是正确地调整
getembeddaleview

NSView*getembeddaleview(QWindow*qtWindow)
{
//确保已创建平台窗口
qtWindow->create();
//通知窗口它是非Qt窗口的子窗口。这必须是
//在create()之后完成,因为我们需要一个QPlatformWindow实例。
//相应的NSF窗口将不显示,稍后可以删除。
extern QPlatformNativeInterface::NativereSourceFourintegrationFunction resolvePlatformFunction(常量QByteArray和functionName);
typedef void(*setEmbeddedInformeignViewFunction)(QPlatformWindow*窗口,布尔嵌入式);
重新解释转换(resolvePlatformFunction(“SetEmbeddedInformeIgnView”)(qtWindow->handle(),true);
//从Qt平台插件获取QWindow的Qt内容视图
QPlatformNativeInterface*platformNativeInterface=QGuiApplication::platformNativeInterface();
NSView*qtView=(NSView*)平台国家界面->国家资源窗口(“NSView”,qtWindow);
return qtView;//qtView已准备好使用。
}

但是:如何从
NSView
couluikit
?或者有完全替代的方法吗?

对此有另一种想法:由于
CoolUIKit
使用本机OS X元素,例如NSView,因此应该可以通过相应小部件的
NSView
进行管理。