Notifications
Clear all

[Closed] Qt window parenting in Max 2015

Hi all,

I’m trying to get a Qt interface (actually PySide) working in Max 2015. I’m stuck getting my window to become a child of the 3DS Max window.

I’ve read this
https://area.autodesk.com/blogs/chris/pyqt-ui-in-3ds-max-2014-extension
as well as the dozens of other places talking about Blur tools. As far as I can tell I need PyQt4.QtWinMigrate.

I’ve installed PyQt4 and the Blur tools (BlurOffline, python 2.7, 2013-12-05, but not the 3DS Max plugins since I don’t have Max 2014) but neither of those has installed QtWinMigrate on my PC. According to everything else I’ve read, it’s supposed to be in the Blur tools (and the Blur tools do contain winwidget, which depends on QtWinMigrate).

I found QtWinMigrate SIP files but I have no experience with SIP and I haven’t been able to install them.

QtWinMigrate should be in the Blur tools, right? Did I install them wrong? Where else can I get QtWinMigrate from?

Thanks!

4 Replies

Hmm, isn`t 3dsmax2015 shipping with PySide already?

There is even an examplein the help-docs:

Thanks and yeah I have that much working with no problem. My issue is making a Qt window a child of the Max window, so that it stays on top of Max and hides when I minimize Max.

This is what Chris Diggins says in his post about it for Max 2014 (linked above):

Digia provides a Qt module for C++ called QtWinMigrate that was designed specifically to support mixing Qt with native Win32 UI. This works very well in C++ but unfortunately is not available by default in the PyQt or PySide packages. Luckily Blur studios wrapped make this package available in their binary PyQt distribution. If you need to build it from sources yourself the SIP sources can also be found online.

However I haven’t been able to make either of his links work. I didn’t find QtWinMigrate in the Blur package, and I haven’t managed to install it from the SIP files either.

Our studio is revamping to use only the Autodesk implementation of Python and PySide. Currently, we use the blur python methodology, but although we have it working with our code, it is largely unsupported and can be troublesome at times. This has prompted the move to Autodesks version.

I have been looking at the PySide ui example and it runs fine, but there is no code to parent the ui to the main max window as a child. This is a fundamental requirement as when you click on the max window, the ui falls behind and it has to be selected from the taskbar. While this may be ok for one script, it is often the case that our artists have multiple scripts open and do not want to have to keep traversing through a layered set of icons to get hold of it again.

Can anyone shed some light on why this has been left out? If so, is there any example code that could be posted to show how to do this. We are not using PyQt4 nor the Blur binaries as mentioned, so a solution using PySide is needed.

Thanks

Sorry, just saw that you already know about this:
http://area.autodesk.com/blogs/chris/pyqt-ui-in-3ds-max-2014-extension