0

我想要实现的是。我有一个跨平台的 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];
4

0 回答 0