c++ - 在 Mac 上从 QT 获取窗口句柄
问题描述
我正在从 SDL 寻找与此解决方案等效的解决方案,以从 OSX (Mojave) 上的 QT(5.12) 获取窗口句柄
SDL_SysWMinfo wmInfo = {};
SDL_GetWindowWMInfo(window, &wmInfo);
mInfo.info.cocoa.window;
我尝试了一个在堆栈上找到的解决方案
NSWindow* window = [[NSWindow alloc] initWithContentRect:NSMakeRect(500, 500, 500, 500)
styleMask:NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask
backing:NSBackingStoreBuffered
defer:NO];
但它失败并显示错误消息
expected variable name or this in lambda capture list
我通过 QWidget 尝试过
QWidget window;
window.resize(320, 240);
window.show();
window.winId()
window.windowHandle()
我尝试使用 QMacNativeWidget 但也失败了。
我试图愚弄这个进口
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
#import <AppKit/NSWindow.h>
但是 NSWindow.h 会抛出很多错误信息。例如,它抱怨缺少大括号。
因此,我找不到任何对我有帮助的文档,而且我正在按照尝试和错误原则进行工作,这不是最有效的方法^^
也许你们中的一个人已经有同样的问题,可以提供一些帮助或参考
解决方案
推荐阅读
- javascript - 寻找一种有效的方法来动画切换类
- hadoop - 为什么 Druid Sum Aggregator 总是变为零
- spring - 已通过 Spring Cloud Stream 提供 RabbitMq 的生产者
- java - 在 Spring Boot 中返回带有 GET 变量的 URL
- reactjs - 重新加载页面后如何保持显示值?
- javascript - 如何将 base64 编码图像发送到 FastAPI 后端
- wordpress - Wordpress - 为每个类别设置自定义帖子
- sql - PSQL Join 替代方法以返回所有行
- c# - 在 Visual Studio 中支持 C# 9.0
- xcode - SwiftUI - 表单中的 ForEach 不会更新内容,即使它被正确存储