sashoalm
sashoalm

Reputation: 79635

Dialog shown from DLL has Win98/Classic style controls in Qt Creator project but is themed correctly in Visual Studio

This is very weird - I link to a non-Qt DLL in my project, and that DLL shows a dialog.

When I compile my project using Qt Creator+MinGW, the dialog is unthemed - it has the Win98/Classic style rectangular controls.

enter image description here

When I import that same project in Visual Studio 2010 using Qt Addin, and compile and run it, without making any changes to the project, the dialog shown from the DLL has the normal Win7 theme look (I'm on Win7).

enter image description here

This affects only dialogs shown by the DLL - all dialogs shown by the EXE itself are themed correctly.

The version of Qt I link to is 4.8.1, both for Qt Creator and for VS2010.

What might be causing this strange behavior?

Upvotes: 1

Views: 225

Answers (1)

Synxis
Synxis

Reputation: 9388

That's probably because Visual Studio by default include a manifest file in your executable, with the necessary stuff to initialize it. A manifest is required for the theme of the gui to be the one of the OS (XP, Vista, 7). See this answer and this MSDN article.

Note that it does not concern Qt gui, as the rendering of Qt widgets is not done through OS renderer but via QStyle.

Upvotes: 1

Related Questions