Problem with creating first project and the book "C++-gui-programming-with-qt-4-2ndedition"
-
Hi all,
I installed "qt-opensource-windows-x86-mingw482_opengl-5.3.0" on my Windows 7 machine. For learning Qt I chose that book (on the title) and started with it.
In getting started, page 10 of that book, the below code is written:@
#include <QApplication>
#include <QLabel>int main (int argc, char argv[])
{
QApplication app (argc, argv);
QLabel label = new QLabel ("Hello Qt!");
label ->show();
return app.exec();
}@But I don't know how to make that window for writing codes. How to make that project, that is, from what menus, step-by-step.
I also read the Appendixes A & B of the book but those just confuse me more. -
That book is old, it was written before Qt Creator existed.
You can start by running File -> New file or project... -> Applications -> Qt Widget Application.
It will create some basic project structure for you, with main.cpp already in place. Alternatively, you can go for "Empty Qt project" and manually add .pro file code and main.cpp file.
-
I'm really confused.
I made an Empty Qtproject and wrote this code:@#include <QApplication>
#include <QLabel>int main(int argc,char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}@But I get 4 issues!
They are as follows.What is the problem please?C:\Qt\Qt5.3.0\Tools\QtCreator\bin\untitled\untitled.pro:4: error: Extra characters after test expression.
C:\Qt\Qt5.3.0\Tools\QtCreator\bin\untitled\untitled.pro:6: error: Extra characters after test expression.
C:\Qt\Qt5.3.0\Tools\QtCreator\bin\untitled\untitled.pro:7: error: Assignment needs exactly one word on the left hand side.
C:\Qt\Qt5.3.0\Tools\QtCreator\bin\untitled\untitled.pro:9: error: Extra characters after test expression. -
Hi,
The errors are in your project file!! (untitled.pro) with the lines 4, 6, 7, 9
Show that piece of code and we might solve the problem.
Also, creating a project in your Qt folder is IMHO not a smart thing to do.
When using a QLabel you should have generated a new->QWidget project like sierdzio said ;-) -
Put C++ code (the whole snippet above) into main.cpp file.
In .pro file, type this:
@
QT += core gui widgetsSOURCES += main.cpp
@Should work.
-
I made a Qt Widget Application like what "sierdzio" has said, named "test.pro".
These are the things which are written on it be default:@#-------------------------------------------------
Project created by QtCreator 2014-06-11T11:37:42
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = test
TEMPLATE = appSOURCES += main.cpp
mainwindow.cppHEADERS += mainwindow.h
FORMS += mainwindow.ui
@Now where to put that simple snip code please?
-
Hi,
When you generate a "empty" widget project, you get a project file (test.pro) a main file (main.cpp) and your first class declaration (MainWindow.cpp) if you selected to add a mainwindow widget to the project.
Your main function in main.cpp should look like this:
@
int main(int argc,char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}
@
This is to generate a QApplication which you need 1 off in every program (or a QCoreApplication etc if no widgets are used etc). The QApplication handles the Event loop and a hole lot of other stuff.
Your MAinWindow class is not used for now, but that will come later. -
Completely mixed up!
Please read the thread from beginning. My question is very simple. I gave the first example of the book and said how to make a project and put that snip code into that and run it.
I should first solve this problem and then be familiar with other parts of Qt.
This is the window of test.pro which I created it:
http://tinypic.com/view.php?pic=5ltrgj&s=8#.U5hiG3KSzis -
No, I'm not mixed up!
My explanation is very basic and noob proof.Don't change the pro file! Leave it alone, this comes later. The pro file is used by QMake (you will learn later) how to compile.
Then open the source folder (you know the little triangle in front of it). Then double click the main.cpp file (this will open it in creator). Then place your code there in the main function and delete the MainWindow creation for now.
You should get a window with only a button into it. It can't get any more simple then that! -
After much attempt I could to run the code. It worked. Please look at my code window screen in below link. Is everything fine to you?
http://tinypic.com/r/1265n3k/8 -
OK mate. Thank you very much for assigning your time for helping me.
I try to read that book carefully but it doesn't seem to be clear for beginners (for example now I should try to solve this: From a command prompt, change the directory to "test" and type qmake -project).
Thanks also to all of other guys that helped me.
-
If you want to know how to build projects without the IDE, working from the command prompt would help.
But it is not necessary as you may work completely from the Creator and the Qt Creator runs qmake and make for you.I think it is now helpful, if you try one of the examples supplied with Creator and then step back to the book and merge the code from the book to the IDE.
-
I started to learn Qt from "this":http://qt-project.org/doc/qt-5/tutorials-addressbook.html tutorial.
Try it.