Qt Programming Language
-
@JKSH said in Qt Programming Language:
@Annabelle said in Qt Programming Language:
Now that I've installed the Visual C++ programming language component, what do I do next?
The next thing to do is to follow the tutorial and learn C++.
Just to double-check: Are you willing to spend time and effort to learn programming? It will take you at least a few weeks to learn the basics of C++. After that, it will take you at least a few months to learn the various features you need and to produce the program that you've been describing.
You ask if I'm willing to spend time and effort learning programming? The answer to that is a resounding "Yes!" I'm willing to learn anything, as long as I can take it one step at a time, and as long as there aren't too many graphics for my screenreader to have to jump over. So a few weeks to learn the basics, and a few months to learn the concepts you mention as far as "if" statements, variables, and string manipulation goes?
-
@Annabelle said in Qt Programming Language:
You ask if I'm willing to spend time and effort learning programming? The answer to that is a resounding "Yes!" I'm willing to learn anything, as long as I can take it one step at a time, and as long as there aren't too many graphics for my screenreader to have to jump over. So a few weeks to learn the basics, and a few months to learn the concepts you mention as far as "if" statements, variables, and string manipulation goes?
That's great! It is refreshing to see your enthusiasm for learning.
Concepts like variables and "if" statements are part of basic C++, so I think you should cover those within a few weeks. I would say string manipulation is intermediate-level. Let me know when you've finished learning the basics, and I'll be happy to teach you more about string manipulation.
GUIs, accessibility features, and building the applications are much more advanced -- these will take you a few months (at least) to understand.
Anyway, all the best with learning C++ through learncpp.com. As I mentioned before, work through all of chapter 0, all of chapter 1, section 2.1, and section 2.6. After that, search for the concepts I mentioned.
Feel free to ask here if something is unclear in the tutorial.
-
@JKSH said in Qt Programming Language:
@Annabelle said in Qt Programming Language:
You ask if I'm willing to spend time and effort learning programming? The answer to that is a resounding "Yes!" I'm willing to learn anything, as long as I can take it one step at a time, and as long as there aren't too many graphics for my screenreader to have to jump over. So a few weeks to learn the basics, and a few months to learn the concepts you mention as far as "if" statements, variables, and string manipulation goes?
That's great! It is refreshing to see your enthusiasm for learning.
Concepts like variables and "if" statements are part of basic C++, so I think you should cover those within a few weeks. I would say string manipulation is intermediate-level. Let me know when you've finished learning the basics, and I'll be happy to teach you more about string manipulation.
GUIs, accessibility features, and building the applications are much more advanced -- these will take you a few months (at least) to understand.
Anyway, all the best with learning C++ through learncpp.com. As I mentioned before, work through all of chapter 0, all of chapter 1, section 2.1, and section 2.6. After that, search for the concepts I mentioned.
Feel free to ask here if something is unclear in the tutorial.
I tried compiling a Qt version of "Hello World" in Visual Studio, but it said there were a bunch of errors, despite the fact that I copied and pasted the code into a text document from the Qt Documentation. Then I pasted that code into Visual Studio's "Text Editor". On http://www.learncpp.com, there's a different way of printing the "Hello World" project, where the code has something called "cout", which I don't understand. What's the difference between these two codes? That is, the Qt code of "Hello World", and the C++ code of "Hello World"? I'm confused on this one!
-
@Annabelle said in Qt Programming Language:
I tried compiling a Qt version of "Hello World" in Visual Studio, but it said there were a bunch of errors, despite the fact that I copied and pasted the code into a text document from the Qt Documentation.
Before you can use Qt in Visual Studio, you need to perform some additional setup. For now, let's skip all this complexity. Just follow the tutorial without using Qt for now.
Then I pasted that code into Visual Studio's "Text Editor". On http://www.learncpp.com, there's a different way of printing the "Hello World" project, where the code has something called "cout", which I don't understand. What's the difference between these two codes? That is, the Qt code of "Hello World", and the C++ code of "Hello World"? I'm confused on this one!
A "Hello World" program is just a very simple program to help programmers to start using a new language or library. These are not unique; there are many variants of C++ "Hello Worlds" and many variants of Qt "Hello Worlds".
- A C++ "Hello World" program introduces the programmer to the C++ language.
- A Qt "Hello World" program introduces the programmer to the Qt library.
cout
stands for "character output". It is a place where your program can display some text. -
@JKSH said in Qt Programming Language:
@Annabelle said in Qt Programming Language:
I tried compiling a Qt version of "Hello World" in Visual Studio, but it said there were a bunch of errors, despite the fact that I copied and pasted the code into a text document from the Qt Documentation.
Before you can use Qt in Visual Studio, you need to perform some additional setup. For now, let's skip all this complexity. Just follow the tutorial without using Qt for now.
Then I pasted that code into Visual Studio's "Text Editor". On http://www.learncpp.com, there's a different way of printing the "Hello World" project, where the code has something called "cout", which I don't understand. What's the difference between these two codes? That is, the Qt code of "Hello World", and the C++ code of "Hello World"? I'm confused on this one!
A "Hello World" program is just a very simple program to help programmers to start using a new language or library. These are not unique; there are many variants of C++ "Hello Worlds" and many variants of Qt "Hello Worlds".
- A C++ "Hello World" program introduces the programmer to the C++ language.
- A Qt "Hello World" program introduces the programmer to the Qt library.
cout
stands for "character output". It is a place where your program can display some text.If I lose focus with the text editor in Visual Studio while performing the examples in the tutorial, is there a keyboard shortcut for me to put it in focus again?
-
@Annabelle said in Qt Programming Language:
If I lose focus with the text editor in Visual Studio while performing the examples in the tutorial, is there a keyboard shortcut for me to put it in focus again?
Could you please describe what you were doing up to the moment where focus is lost?
-
@JKSH said in Qt Programming Language:
@Annabelle said in Qt Programming Language:
If I lose focus with the text editor in Visual Studio while performing the examples in the tutorial, is there a keyboard shortcut for me to put it in focus again?
Could you please describe what you were doing up to the moment where focus is lost?
I created a new project, which took me to the editor where there was some example text, then I deleted what was there. Next, I went to the tutorial where the "Hello World" code was, and I copied the code to the clipboard. When I pressed Alt+Tab to return to the text editor in Visual Studio to paste the newly-copied code, my screenreader didn't show it (the text editor), just a blank screen.
-
@Annabelle said in Qt Programming Language:
I created a new project, which took me to the editor where there was some example text, then I deleted what was there. Next, I went to the tutorial where the "Hello World" code was, and I copied the code to the clipboard. When I pressed Alt+Tab to return to the text editor in Visual Studio to paste the newly-copied code, my screenreader didn't show it (the text editor), just a blank screen.
Could it be that the screenreader was silent because there was no text inside the editor? What happens when you try to paste the newly-copied code?
Also, try using Ctrl+Tab to cycle between sub-windows inside Visual Studio.
One final word of advise: Please don't wait for me (or anyone else) to reply before you take action. Take the initiative to try different things (and search on Google) to see if you can solve the problem before someone replies.
-
@JKSH said in Qt Programming Language:
@Annabelle said in Qt Programming Language:
I created a new project, which took me to the editor where there was some example text, then I deleted what was there. Next, I went to the tutorial where the "Hello World" code was, and I copied the code to the clipboard. When I pressed Alt+Tab to return to the text editor in Visual Studio to paste the newly-copied code, my screenreader didn't show it (the text editor), just a blank screen.
Could it be that the screenreader was silent because there was no text inside the editor? What happens when you try to paste the newly-copied code?
Also, try using Ctrl+Tab to cycle between sub-windows inside Visual Studio.
One final word of advise: Please don't wait for me (or anyone else) to reply before you take action. Take the initiative to try different things (and search on Google) to see if you can solve the problem before someone replies.
I'm not sure why this didn't work, but I pasted the Hello World code in the text editor window, then when building the project, there were some errors. Even though I pasted the code without any changes.
-
@Annabelle
[EDIT: I have scrapped my suggestions here, read @mrjj's post below. He is right because of the error message number. You are using a.cs
file extension and compiling your code as C# instead of C++ in Visual Studio. Change your filename extension to.cpp
. You need to create a completely different kind of project in Visual Studio, it must be something like a "C++ project" and not a "CSharp project".] -
Hi
Im wondering about the file extension.
Its .cs which would indicate a c sharp program
and not a c++ one ?
Maybe a wrong template was used to create it ? -
@mrjj said in Qt Programming Language:
Hi
Im wondering about the file extension.
Its .cs which would indicate a c sharp program
and not a c++ one ?
Maybe a wrong template was used to create it ?@mrjj is right; you have created a C# project instead of a C++ project. When you create a project, select "Visual C++".
I can't remember what Visual Studio 2015 is like, but Visual Studio 2017 lets me choose Visual C++ > Windows Desktop > Windows Console Application.
-
@JKSH said in Qt Programming Language:
@mrjj said in Qt Programming Language:
Hi
Im wondering about the file extension.
Its .cs which would indicate a c sharp program
and not a c++ one ?
Maybe a wrong template was used to create it ?@mrjj is right; you have created a C# project instead of a C++ project. When you create a project, select "Visual C++".
I can't remember what Visual Studio 2015 is like, but Visual Studio 2017 lets me choose Visual C++ > Windows Desktop > Windows Console Application.
Here's another screenshot. This time, I actually created a C++ project, but it still says there's an error.
-
@Annabelle
This is to do with the VS/MS compiler. Paste the following line:#include "stdafx.h"
into your file, as the first line, somewhere above your existing
#include <iostream>
.Alternatively you can remove a compiler switch (
/Yu
) in your VS project, but I think the above is easiest. -
@JonB said in Qt Programming Language:
@Annabelle
This is to do with the VS/MS compiler. Paste the following line:#include "stdafx.h"
into your file, as the first line, somewhere above your existing
#include <iostream>
.Alternatively you remover a compiler switch (
/Yu
) in your VS project, but I think the above is easiest.What exactly is "stdafx"? Is it an initializing parameter?
-
@Annabelle said in Qt Programming Language:
What exactly is "stdafx"? Is it an initializing parameter?
You can find an answer by searching on Google or another search engine. Programmers must use search engines often, so make it a habit.
Here is an answer: https://stackoverflow.com/questions/2976035/purpose-of-stdafx-h
-
@Annabelle
When you did the paste, this time you have accidentally actually copied the actual line numbers1
to6
onto lines 1 to 6. This is in addition to the line numbers which VS shows to the left of every line you write, and your screenreader probably reads out to you. Which means that prior to your#include
at line 7 the first 6 lines are unacceptable. You need to delete, or change to blank lines, your first 6 lines.When you try to compile code, the very first error is highly significant. Once the compiler hits something erroneous, very often it does not do a great a job at "recovering" from the error such that it gives sensible errors (or not) for whatever follows. So you can end up with loads of "spurious" errors after the first one. Concentrate each time on fixing whatever the very first error reported is, then try compiling again and see where it gets you.
Now, there is an important thing here in VS which I do not know whether you are aware of/your screenreader tells you about. When we look at the lines you have shown us in the screenshot above, we see the lines the compiler does not like having a "squiggly red underline" shown. For us we can immediately see those and know something is wrong. Does your screenreader tell you about these? In your current code, the very first line (numbered 1) has the actual text of the number
1
on it. Since that is wrong, VS squiggle-red-underlines that1
. It would be very helpful to you if your screenreader can make you aware of such lines, but perhaps it cannot? Also, I believe that if I hovered my mouse over a red-squiggle-underline VS would put up a "tooltip" giving me the error message for what is wrong: again, are you able to be informed about that? -
@JonB said in Qt Programming Language:
@Annabelle
When you did the paste, this time you have accidentally actually copied the actual line numbers1
to6
onto lines 1 to 6. This is in addition to the line numbers which VS shows to the left of every line you write, and your screenreader probably reads out to you. Which means that prior to your#include
at line 7 the first 6 lines are unacceptable. You need to delete, or change to blank lines, your first 6 lines.When you try to compile code, the very first error is highly significant. Once the compiler hits something erroneous, very often it does not do a great a job at "recovering" from the error such that it gives sensible errors (or not) for whatever follows. So you can end up with loads of "spurious" errors after the first one. Concentrate each time on fixing whatever the very first error reported is, then try compiling again and see where it gets you.
Now, there is an important thing here in VS which I do not know whether you are aware of/your screenreader tells you about. When we look at the lines you have shown us in the screenshot above, we see the lines the compiler does not like having a "squiggly red underline" shown. For us we can immediately see those and know something is wrong. Does your screenreader tell you about these? In your current code, the very first line (numbered 1) has the actual text of the number
1
on it. Since that is wrong, VS squiggle-red-underlines that1
. It would be very helpful to you if your screenreader can make you aware of such lines, but perhaps it cannot? Also, I believe that if I hovered my mouse over a red-squiggle-underline VS would put up a "tooltip" giving me the error message for what is wrong: again, are you able to be informed about that?My screenreader can't tell if an underline has a color or is squigly. It can say _ (underline). Is that the mark you're talking about? I'm confused!