Community
3ds Max Programming
Welcome to Autodesk’s 3ds Max Forums. Share your knowledge, ask questions, and explore popular 3ds Max SDK, Maxscript and Python topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

C++ SDK vs. QT

26 REPLIES 26
Reply
Message 1 of 27
istan
2624 Views, 26 Replies

C++ SDK vs. QT

So what's the deal with QT? As far as I found out, it just makes development more complex. Still the ParamBlock and the Get/Set functions are required. Just the dialog designer is different, but requires to connect all QT controls by hand additionally. What am I not understanding? Shall QT just "fix" the dialog control scaling for Quad-HD monitors?

26 REPLIES 26
Message 2 of 27
Anonymous
in reply to: istan

What would you suggest as a unified UI Framework for 3dsmax instead?

Message 3 of 27
denisT.MaxDoctor
in reply to: istan

All MAX built-in user interface is still windows API. Only controls are drawn now by Qt graphics. It just helps to make built-in UI and custom UI (made via Qt or Rollout controls) look similar.   

Message 4 of 27
istan
in reply to: Anonymous

I was only curious about finding a serious reason to port my plugins to QT, but I did not (yet) find one.

Additionally the QT license issue is not fully clear to me: since I'm using just the Open Source QT license, do I have to distribute my source code then?

Message 5 of 27
denisT.MaxDoctor
in reply to: istan


@istan wrote:

I was only curious about finding a serious reason to port my plugins to QT, but I did not (yet) find one.

Additionally the QT license issue is not fully clear to me: since I'm using just the Open Source QT license, do I have to distribute my source code then?


if your plugins were written using 3DS Max SDK, you do not need to port them to Qt (they are automatically Qt drawn).

if you use Qt with MAX, you do not need to show your source code. Only after Autodesk does this 😉

Message 6 of 27
drew.avis
in reply to: istan

There are lots of reasons you might want to port to Qt, the big ones are to support high-dpi display scaling, and to re-use your UI on other platforms/DCCs.  Qt Designer makes it pretty easy to design complex UIs.  There is also a lot of other useful functionality in Qt (networking, XML parsing, etc) that you might find useful.  New UIs in Max are 100% Qt now (eg Fluids).

 

However, there's no requirement to port your plug-in if you don't find any of those reasons compelling.

 

Drew



Drew Avis
Content Experience Designer
Message 7 of 27


@drew.avis wrote:

 New UIs in Max are 100% Qt now 

Could you clarify, starting with which version and what does “100%” mean? Thanks

Message 8 of 27
Anonymous
in reply to: denisT.MaxDoctor


@denisT.MaxDoctor wrote:

@drew.avis wrote:

 New UIs in Max are 100% Qt now 

Could you clarify, starting with which version and what does “100%” mean? Thanks


I guess he meant all NEW UI`s like the UI for the Fluids feature, or the new Chamfer modifier, DataChannel modifier and so on.

Message 9 of 27
istan
in reply to: drew.avis


@drew.avis wrote:

There is also a lot of other useful functionality in Qt (networking, XML parsing, etc) that you might find useful. 


Honestly, if I would not already use proper libraries for the stuff you mentioned (and a lot more), my company would have locked up.. 😉  QT might be nice, but as a long time Borland user, I was probably expecting more of automated code creation (UI control -> EventHandler -> ParamBlock -> Getter/Setter -> CfgFile ->..)

Message 10 of 27
istan
in reply to: istan

There's also a discussion on the beta forum about porting to QT..

Message 11 of 27
denisT.MaxDoctor
in reply to: istan


@istan wrote:

There's also a discussion on the beta forum about porting to QT..


could you add a link, please?

 

Message 12 of 27


@drew.avis wrote:

New UIs in Max are 100% Qt now.

 


what is the difference of how MAX UI is made for version 2018 vs 2019+ ? 

For me "100% Qt" is when all controls and dialogs in built-in max UI are QWidgets.  

Message 13 of 27
istan
in reply to: denisT.MaxDoctor


@denisT.MaxDoctor wrote:

@istan wrote:

There's also a discussion on the beta forum about porting to QT..


could you add a link, please?

 


"Scripting" / Topic: "some notes about porting plugins to Qt"

In addition to my own investigations, it affirms my decision not starting with QT in max, as I have no time for such beta tests. I usually look for quick workarounds and honestly, I also gave up reporting everything, as most of these bugs AD is not fixing anyway. They probably have higher pressure on adding new features with new bugs instead of making the current status working first..

Message 14 of 27
denisT.MaxDoctor
in reply to: istan


@istan wrote:

In addition to my own investigations, it affirms my decision not starting with QT in max


after a lot of experimenting with different UI solutions (.net forms, wpf, Qt, etc.) i decided to use only built-in Rollout controls + my own extensions of them. I think that Autodesk must provide their correct display for any screen resolution and monitor type. I don't care how built-in user interface looks like - good, bad or ugly (but would be happy to see them nice). I just want that my tools look the same as built-in.

Message 15 of 27


@denisT.MaxDoctor wrote:

 


what is the difference of how MAX UI is made for version 2018 vs 2019+ ? 

For me "100% Qt" is when all controls and dialogs in built-in max UI are QWidgets.  


We're not there yet.  New features / UIs (in general) are now in Qt, but older UIs have not been converted from Win32.

 

Drew



Drew Avis
Content Experience Designer
Message 16 of 27


@drew.avis wrote:


We're not there yet.  New features / UIs (in general) are now in Qt, but older UIs have not been converted from Win32.

 


so it means that about 10% of the recent MAX UI  is true Qt  😉 

 

Honestly, I am terrified of what will happen when the entire ParamBlock <-> Rollout interface is rewritten to Qt 😶

As a bit of a nightmare, I imagine about continuity of development and at same time supporting of old versions in this case.

Message 17 of 27
istan
in reply to: denisT.MaxDoctor


@denisT.MaxDoctor wrote:

@istan wrote:

In addition to my own investigations, it affirms my decision not starting with QT in max


after a lot of experimenting with different UI solutions (.net forms, wpf, Qt, etc.) i decided to use only built-in Rollout controls + my own extensions of them. I think that Autodesk must provide their correct display for any screen resolution and monitor type. I don't care how built-in user interface looks like - good, bad or ugly (but would be happy to see them nice). I just want that my tools look the same as built-in.

 


In my case, it is exactly the opposite. My users use my interface dialogs and almost nothing of what is built in in Max. I use scaled 3dsmax spinner controls on non-modal 3dsmax rollout dialogs. But since QT all dirty written code is causing troubles again..

Message 18 of 27
istan
in reply to: denisT.MaxDoctor


@denisT.MaxDoctor wrote:


Honestly, I am terrified of what will happen when the entire ParamBlock <-> Rollout interface is rewritten to Qt 😶


I am not afraid of as this task will take decades 😉

Message 19 of 27


@drew.avis wrote:

There are lots of reasons you might want to port to Qt, ...  Qt Designer makes it pretty easy to design complex UIs.  There is also a lot of other useful functionality in Qt (networking, XML parsing, etc) that you might find useful.  New UIs in Max are 100% Qt now (eg Fluids).

 


If all new MAX versions are “100% Qt oriented”, where can I find an example of creating a simple QWindow using c ++, Qt libs and the MAX SDK?

 

 

Message 20 of 27
istan
in reply to: denisT.MaxDoctor

hehe.. already asked several times, but even I will not start using QT for my plugins. Since the QT implementation is more or less just an "addon" to the plugin development, it makes development slower and there is no real benefit for my users (they are willing to pay for). For all other dialogs I'm a lot faster in using dotNet or if I need it more flexible I'm using MXS dialogs.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report