[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