我打算在基于 QT 的应用程序中用 OSX 本机 webkit 替换 QT webkit,我现在所做的是制作一个从 QMacCocoaViewContainer 继承的 QT 控件并在其中嵌入一个可可 web 视图。它可以正确显示页面,但可可网页视图无法接收鼠标移动事件,因此无法显示 js/css 悬停效果。我尝试将其与原生 cocoa 应用程序进行比较,发现可可 web 视图可以从原生 cocoa 应用程序的通知中心获取 NSMouseMovedNotifcation,但 QT 应用程序构建自己的事件循环并使用自己的策略发送事件,没有收到此通知。
谁能告诉我如何解决?任何意见都非常感谢。
QTWebView(QWidget *pparent): QMacCocoaViewContainer(0, pparent)
{
...
xwebview = [[WebView alloc] init];
setCocoaView(xwebview);
NSString *urldefault = @"http://www.google.com";
[[xwebview mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urldefault]]];
...
}