我想要实现的是。我有一个跨平台的 QT 应用程序,我有一个本机 mac 应用程序(obj c)和 windows 应用程序(C#)。
首先我的 QT 应用程序启动,然后在某些按钮单击(操作)上启动本机应用程序并在 Mac/Windows 中显示。现在在 Windows 上,我们有一个叫做 reparenting a window ( https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setparent ) 的东西,我们可以使本机应用程序成为QT 应用程序,因此它作为它的孩子工作。
我们可以在 MAC 中使用类似的东西吗?如果我们这样做了,那么您有样品或我可以参考的东西吗?
我知道我可以创建一个 NSWindow 并显示窗口,但我没有尝试那样做。
NSView *contentView =self.window.contentView;
CGRect cRect = contentView.frame;
CGRect rect = CGRectMake(wRect.origin.x, wRect.origin.y, cRect.size.width, cRect.size.height);
NSWindow *overlayWindow = [[NSWindow alloc]initWithContentRect:rect
styleMask:NSWindowStyleMaskBorderless
backing:NSBackingStoreBuffered
defer:NO];
overlayWindow.backgroundColor = [NSColor redColor];
[overlayWindow setOpaque:NO];
overlayWindow.alphaValue = 0.5f;
[self.window addChildWindow:overlayWindow ordered:NSWindowAbove];