What is wxwidgets intended to do? Topic is solved

This forum can be used to talk about general design strategies, new ideas and questions in general related to wxWidgets. If you feel your questions doesn't fit anywhere, put it here.
Post Reply
Knampf
Earned a small fee
Earned a small fee
Posts: 18
Joined: Wed Feb 03, 2021 12:56 am

What is wxwidgets intended to do?

Post by Knampf »

I have a more abstract question. wxwidgets is obviously designed so you can make 2D-GUI applications, which overall have advantages over console applications.

Is wxwidgets designed so you can make any 2D-GUI program you can think of or does it focus more on meaningful programs? In a previous post of mine, I wanted to move the label of one button to another button per drag&drop. That itself isn’t useful/meaningful, because the position of a button doesn’t matter for what it does, but it’s within the possibilities of the logic of a computer.

How efficient is wxwidgets? For example, are there many unneccessary parts or redundant parts. How many of the functions of wxwidgets do you need? Is the structure of wxwidgets efficient, for example having multiple ways of displaying images?

For most people including me, programming isn’t easy. Computers are also very complex. How intuitive or self-explanatory would you say wxwidget is? For example, I find wxButtons quite intuitive or I find some functions quite intuitive because they mostly do what the name suggests. What I don’t really find intuitive is that you can’t display a wxImage and some other things where you have to go more steps than expected. I know, it’s also a matter of understanding and that will settle over time but is wxwidgets too clunky? That’s in the question from the 3rd paragraph.
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7459
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: What is wxwidgets intended to do?

Post by ONEEYEMAN »

Hi,
For most people who does programming (software development) any kind of library is easy once they get a grip of it.
In the beginning it is always hard. People needs to go thru the documentation, sample code, google, SO to understand it better. But once this is done - everything is easy.

Now your question is too broad to answer. What is your end goal How much experience do you have with the programming? Are you fresh out of college? Or you already working and need some guidance with the wxWidgets (which is not necessary the library your workplace is using)?

We need more from you in order to give a meaningful answer.

Thank you.
Knampf
Earned a small fee
Earned a small fee
Posts: 18
Joined: Wed Feb 03, 2021 12:56 am

Re: What is wxwidgets intended to do?

Post by Knampf »

I haven't been to college/university, but I have the so called "Fachabitur", which is 2 additional years to obligatory school. I did that in technical subjects. I can’t really say how much I know about programming, but I would say I’m a bit further than basics. I mostly understand basics and general syntax of C++ and read through a lot of wxwidgets + videos and did quite a lot with it. I watched the cross-platform GUI video from javidx9 for example. That was a very good introduction to wxwidgets to me. https://www.youtube.com/watch?v=FOIbK4bJKS8

I know the ways of thinking for programming and the essence of computers. I’m definitely not far with actual programming. I often have problems with how to make a program do what I wish, less in terms of logic but more in terms of how you would express that in C++ and wxwidgets. In wxwidgets, I have problems with sizers, parenting and accessing variables in another class for example. For example you can have undefined variables in a function, because it’s out of scope or private or stuff.

I’m not working at the moment, I do that in my free time because I find it valueable and interesting. I would like to make a living from programming or similar, so I want to progress as much as possible. Long-term, I would like to do something with 3D, like games, but that’s far away for now and I wanted to learn wxwidgets and 2D-GUIs first.
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7459
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: What is wxwidgets intended to do?

Post by ONEEYEMAN »

Hi,
Please understand - wxWidgets is a C++ library. And you can't use this library if you struggle wit the language itself.

You need to learn how to walk before learning how to fly.

My suggestion is to find a good course on C++ anywhere and complete it. Just basic C++.
Then come back and do some work with wxWidgets.

However, if you end gol is to develop games, especially on the mobile platform - I suggest to learn some game development and drop wxWidgets . The library is not designed to do game development.

There are many game frameworkthat you will be able learn and do the development that are MUCH MORE SUITABLE for gaming than wxWidgets.
But my suggestion to, again, learn the language (be it JAVA for mobile or C++ for desktop) first - stands. You can't do it at the same time - you will confuse yourself and will rely on other people help rather than doing work yourself.

Good luck.

Thank you.
Knampf
Earned a small fee
Earned a small fee
Posts: 18
Joined: Wed Feb 03, 2021 12:56 am

Re: What is wxwidgets intended to do?

Post by Knampf »

Hello

I did the basic C++ course of codecademy, read till chapter 6+ of Bjarne Stroustrup’s Principles and Practise Using C++ and watched a lot of videos. I’ve made a small card playing app for console for example.

I know that wxwidgets is not designed to make video games. My end goal is not making a video game, my end goal is learning as much as possible about programming and computers. I don’t want to earn money with it, that could just be a side effect. “Making a living from it” was meant in a way that programming and computers are a big part of my life. I’m not learning wxwidgets as a step before video games, I’m learning wxwidgets so I can make decently sized 2D-GUI apps with some functionality.

I try getting more familiar with C++, how it interacts with the computer in general and how to best access variables and stuff. Thanks for the tips.
User avatar
doublemax@work
Super wx Problem Solver
Super wx Problem Solver
Posts: 474
Joined: Wed Jul 29, 2020 6:06 pm
Location: NRW, Germany

Re: What is wxwidgets intended to do?

Post by doublemax@work »

Is wxwidgets designed so you can make any 2D-GUI program you can think of or does it focus more on meaningful programs? In a previous post of mine, I wanted to move the label of one button to another button per drag&drop. That itself isn’t useful/meaningful, because the position of a button doesn’t matter for what it does, but it’s within the possibilities of the logic of a computer.
Things that are common are usually more easily accessible then "weird experiments" ;) FWIW: Drag-and-drop is one of most counter-intuitive parts in wxWidgets, you shouldn't get discouraged by that.
How efficient is wxwidgets? For example, are there many unneccessary parts or redundant parts.
wxWidgets provides almost everything you need to build any type of application. So there may be many parts that *you* don't need, but i don't think there are many unneccessary parts. Maybe things like the old container classes, or wxThread etc. These exist because there was no stl counterpart back in the day. Noaways you could use stl for those.
How many of the functions of wxwidgets do you need?
That only depends on the type of application you want to build.
Is the structure of wxwidgets efficient, for example having multiple ways of displaying images?
If you're referring to wxPaintDC vs wxGraphicContext, these are sometimes caused by "historic" reasons (wx is over 20 years in development), and sometimes by the underlying platform. E.g. there is GDI and GDI+ under Windows, GDI+ beeing the newer one with more features. But it's also slower, so it makes sense to keep the old one around.

Give yourself - and wxWidgets - a little more time. When i started with wx, it took me about half a year until i found my way around it.
Post Reply