QT 5.9.2 --> 5.10.0 application styles lost? - c++

We recently upgraded the version of Qt we use in a desktop application from Qt 5.9.2 to 5.10.0. On startup it suddenly looked terrible.
Playing around with application styles (i.e. Looking at the return value of "QStyleFactory::keys()" which I might supply to "QApplication::setStyle()" ), I discovered that whereas 5.9.2 gave us 4 styles right out of the box, 5.10.0 gives us only 2.
5.9.2 gave us these:
"Windows"
"WindowsXP"
"WindowsVista"
"Fusion"
However 5.10.0 only gives us "Windows" and "Fusion". By default it is now apparently choosing "Windows" when before it was choosing "WindowsVista" so it looks terrible.
Anyone out there familiar enough with Qt to tell me how I might get "WindowsVista" again in 5.10.0? Has it perhaps moved to some other DLL that we're failing to copy? Has it been removed?
(Note: We do not not build Qt ourselves, we use the installer. I don't see any sort of option in there for choosing additional styles" or anything like that...)

I did eventually figure this out and since someone asked (in the comments) what the resolution was, I'll answer my own question.
First of all I had to uninstall and completely reinstall Qt 5.10.0. I am guessing that my original install had failed to check some sort of box with the needed styles. I am not sure.
Second, once I did that, there were 3 styles available, not 2. "windowsvista", "Windows" and "Fusion"

Related

QT OpenSource, 5.12.1, default installation does not yield qtmainid.lib

Firstly, I would not post here because I did not look up questions and answers already relating to this. I have tried the solutions, to little avail, as most questions revolved around previous versions, and were vague in some way. Below are the pages I visited:
Links
https://forum.qt.io/topic/78962/how-to-use-qt-with-visual-studio-2017/13, this ruined my case even worse. Something temporarily broke down because of the last 2 steps, but was back again to normal after restarting QT.
How to build Qt for Visual Studio 2010, I have VS 2017, and the command line prompt for that doesn't recognize 'configure.exe'. This is the line of code:
configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg
Building Qt for Visual Studio 2010 - cannot open file 'qtmaind.lib', related again to VS 10, should I really work on the 2010 version? Is there a way to configure it for 2017, as it is the tool I am most familiar with?
qt cannot open input file 'c:\Qt\qt\lib\qtmaind.lib', I have no idea what QMAKESPACE is. I just started yesterday with the intent of making my semester project in it, so I do not have any professional experience with QT previously, or any kind of experience in general. The link attached to the ticked answer, https://doc.qt.io/archives/qt-4.8/supported-platforms.html, does not offer any kind of help. It just details what systems it supports. I am currently using Windows 10, version 1809.
https://www.qtcentre.org/threads/23917-fatal-error-LNK1181-cannot-open-input-file-qtmaind-lib, really lost me. Where are the qt sources that Nish is talking about? Are they from here: https://www.qt.io/offline-installers, from "Source Packages And Other Releases". Where are these files? Did they come with the installer from here: https://www.qt.io/download ? With what do I compile them with? Will these compiled files make some .exe files? Even more, these posts are from 2009.
What Is The Problem?
I watched the video by Derek Banas' series on QT ( https://www.youtube.com/watch?v=I96uPDifZ1w&t=297s ). Here are the steps I took to set up QT:
i): Went to https://www.qt.io/download.
ii): Selected "Go Open Source", and then clicked on download
iii): Started the QT setup after download. In the packages menu, I selected
the default. This gave me QT 4.6.3.
iv): Made a new project as shown by Derek Banas.
v): Upon selecting the green arrow on the bottom left, with debug option chosen, I pressed it. It gave me the error:
LNK 1104: Cannot open file 'qtmaind.lib'
vi): Changed to release, profile, gave me this error:
This application failed to start because it could not find or load the Qt platform plugin "windows"in "".Reinstalling the application may fix this problem.
I tried reinstalling it. No use. I went here: https://www.qt.io/offline-installers, and download 5.12.1, the latest, plus the zip file in "Source Packages And Other Releases". Again performing the same as above, with the same errors.
Confused because the video did not address such an issue. Looked online. did not find much here, thus, I am here. My hypothesis:
i): This is something related to my path variables. Since both versions exhibit this issue, it means that fault is from my side, not QT's.
ii): Some windows .dll files are missing. But I do not know what files they are.
Before You Answer
Please just give me the directions I should move in to solve this issue. I do not have any idea where to go from here, but I really, really, really want to learn QT as part of my C++ learning, and I'm willing to work; I just lack the guidance.
If this is downvoted, please just send me some links which specifically address my issue so I can head over there. I would be very glad for the directions. :)
And lastly, thank you to all of you for reading through this wall of text!
Here are a few pictures of what I am seeing:
It finally worked!
If this is of some help to anybody out there, please do not select the default button at the installation phase. Depending on your time, please go ahead and select MSVC 64 bit, MSVS < 2nd Latest Version >, and MinGW < Latest Version > 64 Bit, that shows up at the installation time. This will allow you to use a different kit that you can use to run your application with. To access this kit, go to the green button, hover over it, or click it, and there will be a kit called, desktop QT MSVC 64-bit, and then select this, and then run your program. This will run your program properly.

Adding MinGW compiler to QT 5.6.0 Windows

I am a Total Noob at this and I know nearly nothing about this.
I just started using Qt Creator for windows 5.6.0 and While I wrote my first "Hello World" code..
I was asked to add a kit. I searched the net for similar issues and it said that I needed a compiler for Qt. Thus, I installed MinGW from QtForums
now when go to Tools->Options->Build&Run->compiler, I can not understand how do I add it to the list.
Please help me through it?
To just get started the easiest thing to do would be to go here:
Link to Qt downloads page
Scroll down and select Qt 5.6.0 for Windows 32-bit (MinGW 4.9.2, 1.0 GB) this will download the installer (its about 1 GB). Run it and choose all the default options. Then you will have Qt 5.6 with mingw and Qt Creator all setup ready to go.
Note: Before you start that its probably best to delete your current version - if you are not attached to it in any way :)
If you want to fix your current setup, then it might be longer-winded to find out what you are missing for mingw. For example you need the mingw qmake file that would be located here (using default install options):
C:\Qt\Qt5.5.1\5.5\mingw492_32\bin\qmake.exe
to create your "Qt Version" part of the kit. And the actual mingw compiler, which is located here (using default install options):
C:\Qt\Qt5.5.1\Tools\mingw492_32\bin\g++.exe
to create your compiler. Once you have both of these then you can put them together to create your new kit.
But to just add a compiler all you need to do is:
Click compilers tab
Click add and select mingw
A new compiler is added, click it
You will see some options below, add your compiler executable path in (like the one above for example).
And you are done - there are some other options, but you probably don't need to use them.
note my paths are for qt 5.5.1 (obviously) so slightly different to 5.6 :)
update
Its all been moved around! - here are the new paths:
offline-installers
old-version-archives
Well. I was unable to provide the data before but it all makes more sense now.
What I had installed was Qt for windows 64-bit (vs 2013, 836mb).
Hence, Instead of MinGW, I have msvc2013_64. It does have qmake.exe but doesnt have g++.exe. And I had downloaded it separately.
You're answer was very helpful.
Added MinGW packages to QT installation with the QT Maintenance Tool (C:\Qt\MaintenanceTool.exe)
It allows to add/remove components via the qt repositories. So no need for re-installation.

Qt Ctrl++ (Control Plus Plus) Shortcut Not Working in Qt 5.5

I've noticed in Qt 5.5.0 and in Qt Creator 3.4.2 (built on Qt 5.5.0), that Actions attempting to use Ctrl++ are not working. Note that the shortcut works correctly in older versions (for example, Qt Creator 2.7.0 built on Qt 5.0.2).
For example, if I try to increase the font size in QtCreator using Ctrl++, nothing happens. The same is true for the ImageViewer example. (Ctrl++ in the ImageViewer increases the image size, but in 5.5.0, it does not work.)
If I bind increasing the font size to another shortcut in QtCreator (via Tools->Options->Environment->Keyboard), such as Ctrl+Z, it works fine.
I did a little debug by overriding keyPressEvent, and it appears that Ctrl++ is being sucked up earlier in the dispatch, but I am having trouble figuring out exactly where.
My questions are:
Is this a bug?
If not, does anyone have any advice on how to see how the key is being dispatched?
This is a confirmed bug in Qt 5.5.0 and appears to be fixed in the latest builds.
There is more information here:
https://bugreports.qt.io/browse/QTBUG-47701

Cannot Connect to QML Emluation Layer (QML Puppet)

I just made the fresh QT installation and when I create empty QT Quick project or open any of existing QT Quick examples, my QML designer doesn't work. It shows "Cannot Connect to QML Emluation Layer (QML Puppet)" error.
I tried to reinstall QT, reboot, installed additional QT kit versions and tried to switch between 32bit/64bit default/opengl versions of the kit and nothing seems to work for me. I was able to successfully run the designer ONCE, and after I closed it and tried to re-open the file it stopped working again. I also tried to search, but didn't find any solution. I also tried to ask on QT forums, but didn't receive any answer.
My system is Windows 7, with Visual Studio 2013 installed. Thanks for your help!
Do this:
Go to QT Creator Preferences (Menu Bar | Tools > Options)
Select QT Quick Option (Options headings - left side).
Click the QT Quick Designer tab.
Under QML Emulation Layer grouping, select "Use QML Emulation Layer that is built with selected QT".
No need to choose a path,
And click OK.
It will rebuild your designer view.
Worked for me.
Possibly related to this bug. Just try this workaround: in the Options
dialog go to “Qt Quick / Qt Quick Designer / QML Emulation Layer” and
disable the checkbox “Always use the QML emulation layer prived by Qt
Creator”. That will cause a rebuild of the emulation layer with the
used Qt version in the current project. That layer does not crash.
This workaround only works with Desktop Kits. – BaCaRoZzo Mar 30
This worked for me on Ubuntu 14.04.
Go to Tools->Options->Qt Quick.
In QML Emulation Layer, make sure
the path is correct for "Use fallback QML emulation layer".
Since I was reinstalling Qt, the new installation had the old path of Qt which gave rise to this issue.
If failed anyway, use "Qt Design studio" instead and build it again, it worked for me.
I recommend to uninstall Qt first and then reinstall it with "Qt Design Studio" box checked.
On Ubuntu 20 LTS, you can run it on: /home/Qt/Tools/QtDesignStudio/bin/qtdesignstudio
Good luck.

using qt creator only as editor: are qt libraries necessary

I want to use qt creator, only as an editor, which does code completion and finds declarations etc. I dont want to use it to build etc. Is there a way, I can circumvent the need of qt-libraries? I am using a server, where my file space is limited. Also, without qt libraries, it does not allow making even a project. When I tried to install qt-libraries, it configures fine, but on make gives error.
So, can you suggest an alternative? Thanks
No, you need the Qt libs because the editor was coded in Qt.
Actually - at least under Windows -, you can. You just have to deselect all Qt library versions and only select the editor. If you want to have a debugger available on Windows, also select the checkbox for CDB support.
I have forgotten how this works with the Linux installer, but I imagine the same applies there as well, except of course for the CDB debugger, which is not available on Linux. Instead you should be able to chose from GDB and some other alternatives, though it might not be during the installation.
Once you installed it and are about to set up a new "Plain C++" project, you can't select a Qt version when creating a new kit, obviously.
If you blindly selected an already existing kit, Qt Creator might have tried to use a Qt installation for your vanilla C++ project. Instead of doing so, you should click the "Manage..." button on one of your preexisting kits and add a new, custom kit. Here you can set the "Qt version" option to "None". The rest should be set according to your needs.