How/where to learn enough QT to build an application idea [info in post]
-
wrote on 21 May 2020, 00:58 last edited by
I quickly dove into Qt to understand graphical programming aside from OpenGl and feel like that was a bit of a mistake and have gotten lost in the framework. I want to start making desktop app/game that will allow a user to create custom tile maps/platform games. Similar to Tiled map creator. This is the closest example I could find to what I am wanting to make.
My question: Where do I start?
I have looked at many tutorials, including the documentation for Qt and to me, everything seems to suggest to start at a different place. One many tell me to use Designer, and one just to program it all, in either C++, QML, or Qt Quick (I don't even know the differences between them well). I get mixed up of the type of layout, or view type to use. There's choices between box layouts, panes, stacked, not stacked, and to be honest, I am not sure what the differences between them all.
I could continue to read the documentation, or to buy a book and study that until I know a little bit of everything, but that will take time I don't have. I would like to learn what I need to to get this project done, but I am stuck not sure where to begin. I have tried looking at examples, but there are so many each with their own unique variation, and I end up lost.
I am looking for some guidance to know where I should begin in Qt to complete this project. I had the idea of this project to help me learn Qt, but it has turned out a lot more difficult than I originally thought. Is there any useful articles or resources, that can explain not really how to write Qt, but how to know how it works? How each class and component work together, build off each other, etc...? Any leads where to start will be greatly appreciated!
john
-
I quickly dove into Qt to understand graphical programming aside from OpenGl and feel like that was a bit of a mistake and have gotten lost in the framework. I want to start making desktop app/game that will allow a user to create custom tile maps/platform games. Similar to Tiled map creator. This is the closest example I could find to what I am wanting to make.
My question: Where do I start?
I have looked at many tutorials, including the documentation for Qt and to me, everything seems to suggest to start at a different place. One many tell me to use Designer, and one just to program it all, in either C++, QML, or Qt Quick (I don't even know the differences between them well). I get mixed up of the type of layout, or view type to use. There's choices between box layouts, panes, stacked, not stacked, and to be honest, I am not sure what the differences between them all.
I could continue to read the documentation, or to buy a book and study that until I know a little bit of everything, but that will take time I don't have. I would like to learn what I need to to get this project done, but I am stuck not sure where to begin. I have tried looking at examples, but there are so many each with their own unique variation, and I end up lost.
I am looking for some guidance to know where I should begin in Qt to complete this project. I had the idea of this project to help me learn Qt, but it has turned out a lot more difficult than I originally thought. Is there any useful articles or resources, that can explain not really how to write Qt, but how to know how it works? How each class and component work together, build off each other, etc...? Any leads where to start will be greatly appreciated!
john
@johnratius said in How/where to learn enough QT to build an application idea [info in post]:
My question: Where do I start?
With some simple test apps. Make a small QtWidgets app, even something super simple like morse code translator, or comic strip display app. Then do the same in QML.
Experience from even 2-3 simple apps will give you a much better picture of what is possible, how and which technologies you prefer.
One many tell me to use Designer, and one just to program it all, in either C++, QML, or Qt Quick (I don't even know the differences between them well)
In practice Qt Quick and QML are the same and both terms are used interchangeably.
I get mixed up of the type of layout, or view type to use. There's choices between box layouts, panes, stacked, not stacked, and to be honest, I am not sure what the differences between them all.
I think in your case, it completely does not matter. To create a tiled map you need custom painting (in OpenGL, or QPainter, or using SceneGraph) - no ready-made layout, stack widget or component will help you here. It will be hard and that is even stronger reason to try some simpler examples first.
-
wrote on 21 May 2020, 10:35 last edited by FluentCoding
I've started building my first QT application around 2 weeks ago. I already had major programming experience in Java and I knew the basics of C++ in theory. This application is a bit bigger and I still won't have this project finished in 4 weeks but every problem I came across during development helped me to understand QT more and more. Now, I can say that I am completely able to make every easy and mid-hard application, just because of this project.
-
@johnratius said in How/where to learn enough QT to build an application idea [info in post]:
My question: Where do I start?
With some simple test apps. Make a small QtWidgets app, even something super simple like morse code translator, or comic strip display app. Then do the same in QML.
Experience from even 2-3 simple apps will give you a much better picture of what is possible, how and which technologies you prefer.
One many tell me to use Designer, and one just to program it all, in either C++, QML, or Qt Quick (I don't even know the differences between them well)
In practice Qt Quick and QML are the same and both terms are used interchangeably.
I get mixed up of the type of layout, or view type to use. There's choices between box layouts, panes, stacked, not stacked, and to be honest, I am not sure what the differences between them all.
I think in your case, it completely does not matter. To create a tiled map you need custom painting (in OpenGL, or QPainter, or using SceneGraph) - no ready-made layout, stack widget or component will help you here. It will be hard and that is even stronger reason to try some simpler examples first.
wrote on 21 May 2020, 15:00 last edited by@sierdzio
Thank you for your response. Do you know if there is a list somewhere that has a list of small project ideas like you suggested that can give me this experience? -
@sierdzio
Thank you for your response. Do you know if there is a list somewhere that has a list of small project ideas like you suggested that can give me this experience?wrote on 21 May 2020, 16:19 last edited by Pl45m4Your Map Editor could be a good project to start with, if you start simple. You can extend it further as you gain more and more knowledge and experience.
Think about where to start and what you need (logical, not actual Qt stuff, you might not know yet). Of course you need to know the basics of C++ (the more you know about C++, the easier it gets).
In addition you can have a look at the Qt Examples and try to re-build similar stuff on your own. So you get used to the basic Qt widgets.
You can find all examples here
-
@sierdzio
Thank you for your response. Do you know if there is a list somewhere that has a list of small project ideas like you suggested that can give me this experience?@johnratius said in How/where to learn enough QT to build an application idea [info in post]:
@sierdzio
Thank you for your response. Do you know if there is a list somewhere that has a list of small project ideas like you suggested that can give me this experience?I don't know any such list but I am sure they are out there. I think I've seen some "app ideas" applications on Google's Play Store. For sure there are some available on the web, too.
A few ideas from me:
- Morse code translator
- Photo library organiser (move photos to
year/month/date
folder structure) - Conway's game of life implementation
-
Your Map Editor could be a good project to start with, if you start simple. You can extend it further as you gain more and more knowledge and experience.
Think about where to start and what you need (logical, not actual Qt stuff, you might not know yet). Of course you need to know the basics of C++ (the more you know about C++, the easier it gets).
In addition you can have a look at the Qt Examples and try to re-build similar stuff on your own. So you get used to the basic Qt widgets.
You can find all examples here
wrote on 22 May 2020, 10:03 last edited by Please_Help_me_D@Pl45m4 when I started Qt (a half of a year ago) I knew only Matlab which is way different stuff...
I would recommend you to start coding your application and every little question post on the forums (like this or more general C++ forum).
I would have threw away the idea to learn Qt if such forums wouldn't helped me.
The main task is to fully describe (in detail) the every problem you are struggling with. Step by step.
Start it, good luck :)
1/7