Qt Programming Language



  • @Sunfluxgames said in Qt Programming Language:

    @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!


  • Moderators

    @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. :)



  • @ambershark said in Qt Programming Language:

    @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.

  • Moderators

    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.


  • Moderators

    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:

    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.

    "Shadow Build folders"? What are those?


  • Lifetime Qt Champion

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

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

  • Moderators

    @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


  • Moderators

    @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?


  • Lifetime Qt Champion

    @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?


  • Lifetime Qt Champion

    @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?


  • Lifetime Qt Champion

    @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?


  • Moderators

    @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.

    Here's a link to mingw:
    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.



  • @ambershark said in Qt Programming Language:

    @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.

    Here's a link to mingw:
    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!


  • Moderators

    @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.



  • @ambershark said in Qt Programming Language:

    @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.


  • Moderators

    @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.


  • Moderators

    @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
    
    HEADERS += \
        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.

    Use notepad++ to do all your .cpp and .h coding

    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?


  • Moderators

    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.



  • @sierdzio said in Qt Programming Language:

    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.

    I've searched in my computer's hard drive, and I can't find Qmake.exe, as it was uninstalled along with Qt Creator. Is there a way for me to find a direct download to just the Qmake.exe component? If so, where do I search?


  • Moderators

    @Annabelle No you will have to install Qt. You don't need to install the Creator part of Qt, but if you do it won't hurt. You can disable the install of Qt Creator as an advanced part of the install.



  • @ambershark said in Qt Programming Language:

    @Annabelle No you will have to install Qt. You don't need to install the Creator part of Qt, but if you do it won't hurt. You can disable the install of Qt Creator as an advanced part of the install.

    I tried that, but even the installer can't be fully accessed with JAWS or NVDA. Not even the built-in Microsoft Narrator that comes with Windows 7 can access that checkbox you're talking about. I've put in an Email message to the Qt Creator team, and unfortunately they haven't sent me an answer yet.


  • Moderators

    @tekojo maybe you can use your magic powers to ping people at Qt Company? See the post by @Annabelle above.



  • @sierdzio said in Qt Programming Language:

    @tekojo maybe you can use your magic powers to ping people at Qt Company? See the post by @Annabelle above.

    I'm confused! Who's Tekojo?


  • Lifetime Qt Champion

    He's the community manager but currently pretty busy with the Qt Contributor Summit as well as Qt World Summit.


  • Moderators

    @Annabelle It won't hurt to just do the default install with Qt Creator. You'll still get Qt and the command line tools like Qmake using the default install. So I wouldn't worry about not being able to access that checkbox.

    Would be a nice thing to have fixed for the future though.



  • @ambershark Is it possible we could write Morse code aka keyboard and just tab through the boxes on the installer and select what she needs by pressing keys?


  • Moderators

    @Sunfluxgames You wouldn't really have to write anything.. someone could just run the installer and figure out the exact keypresses she needs to get to the box she wants to uncheck and then list them here. If she's careful she can do it without a screen reader.

    Also having a friend help install it would work too.

    But again, it's not necessary at all to uncheck qt creator. I usually let it install Qt Creator and I pretty much never use it. I can spare the 200mb or whatever it is on my hard drive though. :)


Log in to reply