[Interest] QWindow::fromWinId - argument type on platform OS X
deDietrich Gabriel
Gabriel.deDietrich at digia.com
Wed Jan 8 16:01:31 CET 2014
On Jan 8, 2014, at 1:47 PM, Roland Winklmeier <roland.m.winklmeier at gmail.com<mailto:roland.m.winklmeier at gmail.com>> wrote:
Hi Gabriel,
thanks for your answer. This clarifies the second point in the documentation "Creates a local representation of a window created by another process or by using native libraries below Qt.". But am I right with my assumption, that the first statement "... created by another process ... " is not supported on OS X? I cannot imagine a way to get a valid NSView* from a different process.
You can share NSWindows across applications (see toward the end of https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPanel/Tasks/SettingWindowImageAttr.html and -[NSApplication windowWithWindowNumber:]). I have never tried anything of that sort, and I don’t even know what kind of information you can access. Even if it’s possible to access the NSWindow content view, it remains to be seen whether you can move/reparent NSViews across applications. Probably other platforms allow this, hence the doc.
Best regards,
Dr. Gabriel de Dietrich
Senior Software Developer
qt.digia.com<http://qt.digia.com>
2014/1/8 deDietrich Gabriel <Gabriel.deDietrich at digia.com<mailto:Gabriel.deDietrich at digia.com>>
On Jan 7, 2014, at 10:26 PM, Roland Winklmeier <roland.m.winklmeier at gmail.com<mailto:roland.m.winklmeier at gmail.com>> wrote:
> Hi all,
>
> I have a quick question about the usage of the static method QWindow::fromWinId. What exactly do I have to pass to the application to make it work? I figured it already out for windows and linux/xcb, but I'm puzzled about OS X.
> My first guess was it is the cocoa window ID, but passing it made the application crash immediatly. After that I had a look into the cocoa QPA plugin and it casts the WId to a NSView pointer. The guys in #macdev said this will probably never work.
>
> So can anybody explain me, how this is working on OS X?
Hi Roland,
WId is NSView* in the Cocoa QPA world. This is what QCocoaWindow::winId() returns when called by QWindow::winId().
That means that, on Mac, we use NSView as the native window class, including for top-level windows.
Best regards,
Dr. Gabriel de Dietrich
Senior Software Developer
qt.digia.com<http://qt.digia.com/>
_______________________________________________
Interest mailing list
Interest at qt-project.org<mailto:Interest at qt-project.org>
http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest at qt-project.org<mailto:Interest at qt-project.org>
http://lists.qt-project.org/mailman/listinfo/interest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20140108/be3ade74/attachment.html>
More information about the Interest
mailing list