I have finally looked at your source and have some notes to share with you. As well as some general Qt stuff since you are new to qt. Myself have been using qt to develop some programs for at least last 6 years now. Black Chocobo being my first real use of Qt for anything like a program an end user would ever touch. I have helped with a few other qt projects as well since then most (all?) of them being from myst6re. Please allow me to share some stuff i have learned while using Qt. I'm a bit obsessive of my programs and how they act and how they will be interacted with so i tend to try to make them "perfect" as i can reguardless of where/ how its run.
General:
Project.pro.user file should not be part of your source. This file should be generated by Qt Creator when the pro file is opened.
The .pro File:
This file is really the heart of your program (even more so when you do releases for many oses) Give it some extra love and you can have it do lots for you this fill will be used almost exclusively to generate the build files that your compiler will use so it can save alot of time with getting the program deploy ready for what ever os your building it for.
there are some good examples in our community:
Black Chocobo Makou Reactor Hyne DelingGui :
Always use layouts. The top level of the main window should be in a layout and anything in any kind of container groupbox, tabwidget, frame, etc.. should also have a layout . This is Very important and will make the difference between your program being unuseable or useable for someone! When layouts are used the items sizes will be choosen at runtime and resize events will correctly resize things.
you can see the difference here ( this is just opened on a 3840X2160 screen)
No Layouts And
With Layouts This is you Gui i have only added layouts for your stuff in groupboxes and your top most layout. you can not see it but you can try it ,resize your current gui setup you will just have blank space in the new area because you widgets will not respond to the change.
now if you try the UI i modified you will see that when the window is resized the content is also resized. This happens just because we set a layout for the top. Here is the UI that i added layouts to
https://goo.gl/yiQxPv just copy it to a text file and name it mainwindow.ui .
Avoid Setting fixed sizes and if you must for controls you should try to base your sizes off the size of the expected input as if the user font is larger then yours the control may be to small for the content this will fix that to some extent. Also do some kind of scaling for DPI this is a new problem w/ HiDpi screens... my dpi is 196 so when the assumed 96 dpi is used everything is so tiny on my screen and sometime just unuseable. This is really a toolkit issue there should be fixes to Qt for it .This has been delayed for now possibly so a long term stable version of qt 5 can be released first. For now this should help if your app ever makes it on to a HiDPi screen . See the init_display code for this (
widget). i use a scaleX and scaleY and scale any sizes i need to such as MaximumSize, MininumSize and FixedSize this way on a standard screen they will remain the same size (dpi should be 96 and therefore scale should be 1 ) and on any screen with a higher Dpi I it will scale to a hopefully correct size.
Can you now fix your About window so it will be readable on my screen?
Translations:
You can easily get qt to translate your strings in the future if you decide. Wraping up your strings with tr() will enable Qt to translate those strings if you decide to make translation files. load more info can be found on the qt projects page about it
http://doc.qt.io/qt-4.8/i18n-source-translation.htmlLook and Feel:
Qt is very good at making itself feel like a native application and but there are some things you can do to help it feel even more native.You can use the system native icons for things
QIcon::fromTheme() you will still need to provide a fallback icon if the system one can't be found. You can also provide hints on what
roles different menu entries that they can be placed in the correctly locations on Mac Os, Android and others where the menu structure will be removed from the window. Or you can do the complete opposite and set up a stylesheet and force your program to look the same everywhere like my
older Black Chocobo Releases.
thats about all i have for now. sorry for the wall of text hopefully it helps you .