# Qt Programming Language

• @mrdebug said in Qt Programming Language:

Sorry, I hope that my reply it isn't off topic.
If you have and idea about an application to write and you think that it will be have a business or you already have customers that have asked for it don't worry.
You can design the ui (that it is easy) and you can ask to someone that knows C++ to write the code for you.
In the past I had a customer that did somehing like this.

1. I know how to write some of the code. It's the compiling part that I have trouble with. Also, I want to find a .chm help file that explains more of the codes of the Qt programming language in detail.
2. I haven't even started my company, so I don't have any customers as of this moment.

• @Annabelle I can't help you with the chm part, but if you need help compiling I can help you figure out both qmake and cmake. Cmake being my preferred method of building Qt projects.

I build everything command line and rarely use IDEs. That sounds exactly what you're looking for if you are using notepad++ and just need a command line build.

• @ambershark this topic was already covered. From context that she has used "compile" in various times I think she means that she isn't sure how to "fit all the pieces" together to get her code working.

• @Annabelle I can't help you with the chm part, but if you need help compiling I can help you figure out both qmake and cmake. Cmake being my preferred method of building Qt projects.

I build everything command line and rarely use IDEs. That sounds exactly what you're looking for if you are using notepad++ and just need a command line build.

JAWS is really good with the command line method. What are the commands I should put in when compiling my program?

• @Allanis said in Qt Programming Language:

@Annabelle Sorry, I was at work when I made my initial response to this thread. A more elaborate answer for you follows as I take it you are beginning in Qt and it may be difficult for you to look up resources.

Given the scope of your project I think it will suffice to use a simple Qmake project file such as:

myapp.pro

TEMPLATE = app

QT += widgets

SOURCES += main.cpp \
MainWindow.cpp \
SpouseWidget.cpp

MainWindow.h \
SpouswWidget.h

OTHER_FILES += \
anyotherfile.png


You may need to make changes to this in order to fit the needs of your project, but this should be a good enough example for you.

Once you have this in place, you can open up your favorite Command Line Interface (eg. cmd.exe for Windows).

Type:

qmake myapp.pro
make


Your compiler will generate a binary file for your application at this point.

I hope this helps,
Have fun.

• The above was posted four days ago. You have not compiled and tested your program at all?

• @Allanis said in Qt Programming Language:

The above was posted four days ago. You have not compiled and tested your program at all?

No I haven't compiled and tested my program yet. I'm still writing up the code. I'm wondering if there's a .chm help file out there, which will list all the available possibilities for parameters like buttons, checkboxes, radiobuttons, tooltips, infotips, comboboxes, and edit boxes (both single line and multi line).

• @Annabelle I struggled to find a .chm for you. But the best place you can look for help with the SDK is the official documentation: http://doc.qt.io/qt-5/

Check out:
http://doc.qt.io/qt-5/qtwidgets-module.html
You will find what you need in relation to Radio Buttons, tooltips etc..

• @Annabelle My suggestion would be to start small. Split your project up into small pieces rather than look at it as a whole. I would use a Qwizard and make pages with the ability to select options and those options give out the results you are looking for.

I would get some Ebooks on C++ and learn the basics. Start with console applications and learn the basics of what you are trying to do. Make a text story with options and results base on what is written in the command prompt. Little stuff like this will help you understand the basics of programming.

When it comes to QT your gonna have to learn it from the ground up. Learn about the main..

"You can't put the cart before the horse"

• @Annabelle My suggestion would be to start small. Split your project up into small pieces rather than look at it as a whole. I would use a Qwizard and make pages with the ability to select options and those options give out the results you are looking for.

I would get some Ebooks on C++ and learn the basics. Start with console applications and learn the basics of what you are trying to do. Make a text story with options and results base on what is written in the command prompt. Little stuff like this will help you understand the basics of programming.

When it comes to QT your gonna have to learn it from the ground up. Learn about the main..

"You can't put the cart before the horse"

So for example, in the Wedding Elements Page of the wizard, there are checkboxes with different titles, and I want to give a description of what each title means. Would I give it as a "QToolTip", or a "QWhatsThis"? The following is an example in HTML of one of the Checkboxes. The part that says "<span Data-tooltip" is the part where I need help converting to Qt, and is the part where I'm confused on which widget to choose, either QToolTip or QWhatsThis.

							<label class="checkbox">
<span data-tooltip="It is required by law that a wedding ceremony include a Declaration of Intent to marry between the two individuals electing to join in the marriage contract." This can be in the form of an "I Do", where the minister/officiant asks questions to the soon-to-be married couple beginning with "Do you", and in turn, the couple answers "I do". Or it can be in the form of an "I Will", where the minister/officiant asks questions to the soon-to-be married couple beginning with "Will you", and in turn, the couple answers "I will.".>
<input checked="checked" value="declarationOfIntent" id="elements-declaration-of-intent" type="checkbox">
Declaration of Intent
</span>
</label>


• It is incredible how many people are helping Annabelle.... But why?

• @mrdebug

@mrdebug said in Qt Programming Language:

It is incredible how many people are helping Annabelle.... But why?

What makes you ask why? Is it because I'm confused on whose advice to take? There are so many answers, I can't seem to tell which one to choose first. I mean, one wants me to make wizard pages. One wants me to use the Qt Creator to make the program, when my screenreader can't access it. one wants me to look at books that are most likely either only available as a physical print copy, or as a format which can't be read by my screenreader. One tells me I should go to outside sources other than the Qt website to find answers. Now my mind is in a whirlpool!

• @Annabelle Definitely don't use Qt Creator. If your screen reader doesn't support it that will just make things a lot harder.

I have written Qt apps for about 16 years and never used Qt Creator. You definitely don't need it.

As for what you need.. You said you need to be able to compile on the command line. Doing this is quite easy with Qt. First answer a couple questions for me and I can give you a complete step by step on how to get a program building. Once you can build a simple program, then you can worry about what goes into it like wizards and such.

1. What operating system are you using?
2. What compiler are you using? If windows is it visual studio or mingw? If linux it will probably be gcc, and if osx it will probably be clang. So mostly I just need to know in case of using windows.

@mrdebug We're all helping because it is very inspiring to see someone who is blind trying to learn and do something so sight oriented. The challenge she faces seems almost insurmountable to me. I am willing to help everyone on these forums but some people just deserve that extra attention. :)

• @Annabelle Definitely don't use Qt Creator. If your screen reader doesn't support it that will just make things a lot harder.

I have written Qt apps for about 16 years and never used Qt Creator. You definitely don't need it.

As for what you need.. You said you need to be able to compile on the command line. Doing this is quite easy with Qt. First answer a couple questions for me and I can give you a complete step by step on how to get a program building. Once you can build a simple program, then you can worry about what goes into it like wizards and such.

1. What operating system are you using?
2. What compiler are you using? If windows is it visual studio or mingw? If linux it will probably be gcc, and if osx it will probably be clang. So mostly I just need to know in case of using windows.

@mrdebug We're all helping because it is very inspiring to see someone who is blind trying to learn and do something so sight oriented. The challenge she faces seems almost insurmountable to me. I am willing to help everyone on these forums but some people just deserve that extra attention. :)

1. I think the compiler I have is Mingw.
2. On one machine, I have Windows XP 32 Bit (I haven't upgraded that machine to Windows 7 64 Bit, as it would be \$787 for a whole new machine, money I don't have right now.) On the machine on which I'm making my program's code, I have Windows 7 64 Bit.

• Ok so for mingw/windows you will need to open a command prompt, press window+r and type cmd then press enter.

Once in the command prompt cd to your code directory.

Then, if you do not have a project file, *.pro, you can create one with qmake -project. This will create a <name of your directory>.pro file for you.

You can then edit that file to include other sources and add QT options and CONFIG options.

Then just run qmake and then finally mingw32-make to build your project.

You will need to make sure that your environment path has the path to qmake and mingw32-make. I prefer to use an msys environment for my qmake/make since I'm a linux user and it is bash like. That's probably a bit much for first time though, so stick with the command prompt for now.

• Additionally to what @ambershark said,
You should between the step qmake -project and qmake change your directory to a so called Shadow-Build Folder otherwise the commands qmake and make will create a big mess in your project folder.
They will automatically create a whole lot of files and directories, that are not neccessary for your creation of the app, but the compiler will need those.

• @J.Hilk said in Qt Programming Language:

You should between the step qmake -project and qmake change your directory to a so called Shadow-Build Folder otherwise the commands qmake and make will create a big mess in your project folder.
They will automatically create a whole lot of files and directories, that are not neccessary for your creation of the app, but the compiler will need those.

"Shadow Build folders"? What are those?

• It's a folder outside of the sources of your application, usually at the same level:

--Code
----MyCoolProject
----build-mycoolproject


• @Annabelle Basically they keep your source directories clean without putting a bunch of object files, libs, exes, etc into your source dirs.

I would have mentioned that, as it is a much better way to keep your source clean instead of relying on make clean and make distclean.

• @SGaist said in Qt Programming Language:

It's a folder outside of the sources of your application, usually at the same level:

--Code
----MyCoolProject
----build-mycoolproject


So for example, if I want to build my Ceremony Script Generator after writing all the codes for each page, I would write:

--Code
----CeremonyScriptGenerator
----build-ceremonyscriptgenerator

• @Annabelle Yes that would work. Remember shadow build directories can literally be anywhere. I tend to have mine inside my project in a dir called build, but it can literally be any directory that you like. The purpose is just to keep your code clean. It lets you delete the build directory at any time to clean up without affecting your code.

• If I ever uninstall Qt Creator, is there a way to install just the Mingw compiler? Or can Mingw and Qt be accessed directly through the Command Prompt?

• @Annabelle
Hi
Creator is just an editor and can be uninstalled while keeping the mingw compiler and
Qt framework.
You can compile from command prompt yes.

To uninstall Creator, you can use the maintenance tool.
It is located in the root of the Qt folder. Normally c:\Qt
the tool is called MaintenanceTool.exe
Im not sure it works with a screen reader though.

That said, it only saves you around 400 mb.

• I've successfully uninstalled QT Creator, but unfortunately the Mingw compiler is gone, too. Is there a way to get the Mingw compiler separately?

• @Annabelle
Hi
The MaintenanceTool allows you to install that.
Make sure that Creator is not checked in the Tool section or else it comes back :)

Does it work with screen reader ?

Else im not sure it works very well as you need to select / deselect elements in the
tree structure shown.

• @mrjj said in Qt Programming Language:

@Annabelle
Hi
The MaintenanceTool allows you to install that.
Make sure that Creator is not checked in the Tool section or else it comes back :)

Does it work with screen reader ?

Else im not sure it works very well as you need to select / deselect elements in the
tree structure shown.

Unfortunately, when I click on QT Maintenance Tool.exe, it says "Missing Shortcut". What's up with that? Did that file get deleted, too?

• @Annabelle
Yes sounds like the tool is not good for a screen reader.
I think you just uninstalled it all.

There is Add and Remove option
where you can select Qt versions and also
if to install Creator or not.

I must resist the urge to post screen shots as i assume they are useless?

If you want to save the space used by Creator, maybe just delting the folder is the way to go.

• @mrjj said in Qt Programming Language:

@Annabelle
Hi
The MaintenanceTool allows you to install that.
Make sure that Creator is not checked in the Tool section or else it comes back :)

Does it work with screen reader ?

Else im not sure it works very well as you need to select / deselect elements in the
tree structure shown.

I tried like three or four times to use the Maintenance Tool, but sadly, it won't let me uncheck the option of "Qt Creator". Grrr that makes me so steamin' mad! What do I do next?

• @Annabelle You can just leave Qt Creator, it won't hurt to have it on there and you'll only save a bit of hard drive space not having it there.

If you can't get just a mingw install with Qt, then you can always install mingw by itself. I would be careful to get the exact version used to compile whatever version of Qt you are using though, just to avoid issues.

https://sourceforge.net/projects/mingw/files/

Keep in mind installing it this way can be kind of complicated compared to just letting Qt's installer do it for you, but it works. I've used the mingw direct version for years.

• @Annabelle You can just leave Qt Creator, it won't hurt to have it on there and you'll only save a bit of hard drive space not having it there.

If you can't get just a mingw install with Qt, then you can always install mingw by itself. I would be careful to get the exact version used to compile whatever version of Qt you are using though, just to avoid issues.

https://sourceforge.net/projects/mingw/files/

Keep in mind installing it this way can be kind of complicated compared to just letting Qt's installer do it for you, but it works. I've used the mingw direct version for years.

Is the coding for all the Qt widgets and parameters like buttons and checkboxes different from version to version (for example, 4.8 vs. 5.9)? I'm confused on that one!

• @Annabelle Qt 4 to 5 would be different. Not hugely so, but definitely has some differences. 4 and 5 are not compatible at all.

However versions during the same major version of Qt tend to be the same. Some things may get deprecated and some things may get added to the interface, but the core stuff stays the same. Your applications should always compile with newer Qt versions with the same major version number.

• @Annabelle Qt 4 to 5 would be different. Not hugely so, but definitely has some differences. 4 and 5 are not compatible at all.

However versions during the same major version of Qt tend to be the same. Some things may get deprecated and some things may get added to the interface, but the core stuff stays the same. Your applications should always compile with newer Qt versions with the same major version number.

I went to the link you provided and got the latest version of mingw-get-setup.exe, however, when I open it, it takes me to an installation manager. Is that what's supposed to happen? Also, for some reason, I have to be connected to the Internet when opening the file. When I try the command line prompt "mingw-get --help", I get the following error. "mingw-get is not an operable program or recognized command". That's a bit strange, since the installation manager specifically asks me to enter that command to have access to its help file.

• @Annabelle I haven't installed mingw in a long time so I'll let someone else help with the specifics of that. I'm not really a windows guy. I do almost exclusively posix oses like linux or mac.

As for the error you got, that is because you are not in the directory with the mingw-get executable. That is a generic dos error that is telling you it has no idea what mingw-get is.

• When I installed the Mingw-Get-Setup.exe file, it put some sort of Installation Manager on my computer, and I'm not sure what that does. Also, I'm still wondering how to put together the commands to compile a simple example of a program after wrtiing the code in Notepad++. I know one of you fellow members said something about "using ID's", and I'm not exactly sure what that means.

• @Annabelle You can compile using cmake or qmake on the command line. It was covered above on how to do it by me and a few others.

• @Allanis said in Qt Programming Language:

@Annabelle Sorry, I was at work when I made my initial response to this thread. A more elaborate answer for you follows as I take it you are beginning in Qt and it may be difficult for you to look up resources.

Given the scope of your project I think it will suffice to use a simple Qmake project file such as:

myapp.pro

TEMPLATE = app

QT += widgets

SOURCES += main.cpp \
MainWindow.cpp \
SpouseWidget.cpp

MainWindow.h \
SpouswWidget.h

OTHER_FILES += \
anyotherfile.png


You may need to make changes to this in order to fit the needs of your project, but this should be a good enough example for you.

Once you have this in place, you can open up your favorite Command Line Interface (eg. cmd.exe for Windows).

Type:

qmake myapp.pro
make


Your compiler will generate a binary file for your application at this point.

I hope this helps,
Have fun.

Would the header files be created in Notepad++ as well? So I'm guessing that the codes I write would be saved as .cpp files?

• Read that post again. I explicitly say that the project file should be a. pro extension not a cpp file. You can write it in notepad++ that's fine.

All the help you need has been clearly outlined in earlier posts by various people. Make sure you read them carefully and understand.

• She seems to be wanted to be spoon feed all the answers versus looking and learning her answers. Jaws is more than capable of reading internet pages. She really needs to learn the basics before she can jump into QT.

Use Cmake or Qmake on the command line.

Me if i was blind and in your shoes i would use visual studio 2013 with jaws and learn all about how it works (google)

• @sierdzio said in Qt Programming Language:

Do you have the code ready, with a .pro file (it is a project definition file that Qt uses to compile applications)? If yes, then you can compile your project from the command line. Open cmd.exe (I guess you are on Windows operating system) and type:

qmake yourprojectname.pro
make


That should be enough, assuming your environment is prepared (qmake and compiler are both set up in PATH system variable).

As a side note, as far as I know there is an accessibility team working at Qt Company, I'm sure they will be happy to hear how both Qt and Qt Creator can be improved to help blind people. You can try reaching them at qt-creator@qt-project.org. You can also subscribe to Qt Creator mailing list here: http://lists.qt-project.org/mailman/listinfo/qt-creator.

I tried typing the code qmake ceremonyscriptgenerator.pro
make
into the command prompt (cmd.exe), but I get the following error.
"qmake" is not a valid internal or external command or operable program.
Does anyone know why this error occurs? Do I have to have Qt Creator installed on my machine?

• You don't need Qt Creator. Qt itself is enough, because qmake is part of it. If cmd complaints it can't find qmake it's probably because it is not in the PATH environment variable. I have not used Qt on Windows for a long time, but if nothing's hanged, you can probably run a Qt-provided command line which has the tools properly set up.

Alternatively, with your current command line, you can point it directly to where qmake is located, like this:

c:\path\to\where\qt\is\bin\qmake.exe file.pro


Oh, right. Possibly you need to type in "qmake.exe" instead of just "qmake" on Windows.

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.