Cross Platform Graphical User Interfaces in C++

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 พ.ค. 2024
  • In this video I challenge the notion that Graphical User Interfaces and C++ just simply dont mix, by installing the cross platform wxWidgets framework and having a play! I show the full install and setup procedure and a simple application to get started.
    Im quite aware of the abundance of different frameworks, and make no claims that one is better than any other. Choose the tools that are right for your situation.
    www.wxwidgets.org
    Source: There isn't any really as you need wxWidgets to make it useful. However if you need it, shout out in the comments and I'll post a link
    TH-cam: / javidx9
    / javidx9extra
    Discord: / discord
    Twitter: / javidx9
    Twitch: / javidx9
    GitHub: www.github.com/onelonecoder
    Patreon: / javidx9
    Homepage: www.onelonecoder.com
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 1.5K

  • @marenol9587
    @marenol9587 4 ปีที่แล้ว +1412

    14:31 "and then click build"
    > clicks build
    "but before you click build and this is really important"
    > heart drops
    "go and make yourself a cup of coffee"
    > heart starts beating again

    • @j.s.1869
      @j.s.1869 4 ปีที่แล้ว +5

      Lmao 😂 Fam! I is dead!! ☠️☠️💀

    • @maroonshaded
      @maroonshaded 4 ปีที่แล้ว +2

      Same lol!

    • @whoshotdk
      @whoshotdk 4 ปีที่แล้ว +24

      Make coffee first, then click build. Gotcha. Wouldn't want to be *too* efficient :D

    • @jimmysyar889
      @jimmysyar889 4 ปีที่แล้ว +1

      sameee!!!

    • @DavidJapanese
      @DavidJapanese 4 ปีที่แล้ว +2

      me too

  • @charlierobson
    @charlierobson 4 ปีที่แล้ว +1262

    I find most tutorial videos almost impossible to sit through. They're either aimed too low, assuming the viewer is a complete newbie, or too high, assuming the viewer is an (insert latest framework here) acolyte. You are the refreshing exception. An outlier, no less. The content is without fluff or fat, and your presentation style is comfortable and never, ever, condescending. The editing is perfect for the content and your whiteboard presentations never grate. Your style is engaging and you never stray far from the point. The jokes are subtle and never grate. You are never anything other than yourself. I hardly ever write comments but today I felt the spirit. Congratulations on producing a most splendid channel and long may you love doing what you're doing, and passing that love on to us. Thank you.

    • @javidx9
      @javidx9  4 ปีที่แล้ว +131

      Thank you Charlie, those are kind words and very much appreciated. Thank you very much!

    • @braindeveloperdimensional5579
      @braindeveloperdimensional5579 4 ปีที่แล้ว +10

      I am making a cross platform GUI API.
      It's not complete yet, just implemented some buttons and text box with scroller. It's ready for use.
      Its not good enough for a sophisticated application but it's colourful. As colourful as modern websites.
      Its almost the same in style like this one :- th-cam.com/video/x3tIHhRwDPU/w-d-xo.html
      It has more features than the one shown in the video link above.

    • @user-qi2ke1hx1x
      @user-qi2ke1hx1x 4 ปีที่แล้ว +4

      i think so and appreciate javidx for teach this to us

    • @chriswinslow
      @chriswinslow 4 ปีที่แล้ว +2

      @@braindeveloperdimensional5579 This looks interesting, is it for C also?

    • @braindeveloperdimensional5579
      @braindeveloperdimensional5579 4 ปีที่แล้ว +2

      @@chriswinslow It's in C and can be used for C and C++.

  • @piotreek7
    @piotreek7 4 ปีที่แล้ว +517

    I recommend making a cup of coffee AFTER clicking “build” button ;)

    • @KaaBockMehr
      @KaaBockMehr 4 ปีที่แล้ว +66

      or even better: use the build button to run your coffee machine at the same time :D

    • @Newtube_Channel
      @Newtube_Channel 4 ปีที่แล้ว +22

      Apparently you need to a cup of coffee so that you don't miss a line of compilation.

    • @stropheum
      @stropheum 4 ปีที่แล้ว +8

      @@KaaBockMehr One of the best uses of a pre-build script feature

    • @reisvc
      @reisvc 4 ปีที่แล้ว +4

      @ÖnîÖns Cut, Lots of bugs afterward! :)

    • @BennyBrud
      @BennyBrud 4 ปีที่แล้ว +11

      @@KaaBockMehr Good idea, just make sure to support other drinks too:
      template
      Cup& cup_of(const T&);

  • @pearz420
    @pearz420 4 ปีที่แล้ว +624

    "I've never used a Mac."
    I see you are a man of culture as well.

    • @cameronholt4735
      @cameronholt4735 4 ปีที่แล้ว +10

      this comment... is. amazing.

    • @sweetberries4611
      @sweetberries4611 4 ปีที่แล้ว +19

      and circlejerky too

    • @pearz420
      @pearz420 4 ปีที่แล้ว +1

      Optimus27 average consumers

    • @dmitrystan4614
      @dmitrystan4614 4 ปีที่แล้ว +17

      mac for stupid people

    • @unoarecare5728
      @unoarecare5728 4 ปีที่แล้ว +6

      Ok homeless cheap android user 😂

  • @spectrecular9721
    @spectrecular9721 4 ปีที่แล้ว +151

    2:20 - "Three million years ago" 🤣

  • @autonomy_
    @autonomy_ 4 ปีที่แล้ว +241

    I’m a lower level programmer with a year or so experience in GUI programming. This video struck a perfect balance of high level concepts, and low level implementation. Instant sub!

    • @javidx9
      @javidx9  4 ปีที่แล้ว +25

      Thanks Alan!

    • @Miles-co5xm
      @Miles-co5xm 2 ปีที่แล้ว +4

      @@javidx9 Hello , as regular viewers of the channel would know !!

    • @javidx9
      @javidx9  2 ปีที่แล้ว +4

      Hello! 😄

    • @Miles-co5xm
      @Miles-co5xm 2 ปีที่แล้ว

      @@javidx9 AAAAAAA , REPLYYYYYY ,

    • @Game-On1080
      @Game-On1080 2 ปีที่แล้ว +1

      May be low level language are faster exicution and better result because of the close to the hardware

  • @nosenseofhumor1
    @nosenseofhumor1 4 ปีที่แล้ว +65

    i am so jealous of this generation of new developers who get to benefit from stuff like this. you make some amazing content and i wish you were around when i was first trying to learn software engineering.

  • @schnert0
    @schnert0 4 ปีที่แล้ว +68

    I was just wondering yesterday how to add a GUI to my program, so the timing of this video was absolutely perfect.

    • @javidx9
      @javidx9  4 ปีที่แล้ว +16

      Excellent! I hope it helps!

  • @williamchamberlain2263
    @williamchamberlain2263 4 ปีที่แล้ว +84

    "Why won't it bloody compile?" is often the giant step of disheartenment for me for new libraries and frameworks.

    • @figloalds
      @figloalds 4 ปีที่แล้ว +3

      Most of them work out of the box, when it doesn't your environment is not properly set up or you didn't follow instructions correctly. Other times you really have to fix something on your PC, Environment or the code itself.

    • @NoName-mr1lh
      @NoName-mr1lh 4 ปีที่แล้ว +3

      Same here but I'm starting to get the hang of fixing the issue which is usually setting up the library and include paths. Still learning...

    • @edwardgibbon2557
      @edwardgibbon2557 4 ปีที่แล้ว +9

      And then it's a-holes like Felype that make it even worse! Search for help and you'll get useless discouraging "I'm better than you" nerd talk from 4 billion strangers

    • @theterribleanimator1793
      @theterribleanimator1793 4 ปีที่แล้ว +2

      @@edwardgibbon2557 thats a lot of programmers.

    • @SirusStarTV
      @SirusStarTV 3 ปีที่แล้ว

      nodejs modules work most of the time

  • @andrzejwsol
    @andrzejwsol 4 ปีที่แล้ว +4

    Awesome tutorial! One of the very few times I've been able to sit through a lengthy tutorial without falling asleep and actually have everything work as described, too.

  • @propertypals5104
    @propertypals5104 2 ปีที่แล้ว +8

    Thank you very much! C++ is the only language I have any handle on, and I've been wanting to write an app with a GUI for a couple years now. Finally I can! I followed your instructions and everything compiled and ran, start to finish, ending with mine-sweeper. Cheers!

  • @MrBsehratmaannking
    @MrBsehratmaannking 4 ปีที่แล้ว +51

    Lately, I have been getting quite pissed at the courses I'm taking in my masters degree of computer science, specifically the software track because even though I've been studying computer science for 5.5 years now, I have never learned how to create any actual software, from GUI's to proper back ends, to proper databases, and how to properly connect them all in a secure way for actual deployment. Nor have I been taught how to properly make any modern website, webapp, mobile app, game, system etc. And I have been having so many deadlines and assignments that are more research-oriented that I have no energy or time left to learn these things on my own time. Since yesterday I have had a bit of free time and finally decided to try to make my first GUI desktop app. However, for some reason information on this topic is so hard to get by online, there are no main hubs where I can find information it seems, so this video picked my interest. I liked the approach to showing some different options and giving some context, which is what I wanted. So, thanks for that

    • @Dave-nv5rv
      @Dave-nv5rv 4 ปีที่แล้ว +7

      I am the complete opposite. I've never been to college but I've created a great number of full-stack software applications on many platforms that have had tens of thousands of users.
      Just as I need to have the discipline to attend courses and do assignments, you're going to have to try to find a way to make time to create applications.
      Honestly, Windows Presentation Foundation (WPF) using C# is what I would start with. There are many WPF books that go step by step to create a full fledged desktop program. That is how learned; I bought programming specific books (WPF Unleashed as example) and just followed along page by page.
      Once you learn with the simpler WPF with C# advanced frameworks will make more sense. Using c++ with a custom GUI library is not a favorable way to learn.
      Good luck and take care

    • @steveymcneckbeard
      @steveymcneckbeard 3 ปีที่แล้ว +6

      @Rationalistic course you are, but hey this is TH-cam comments, you can be whoever you like.

    • @Elite7555
      @Elite7555 3 ปีที่แล้ว +6

      You are studying computer SCIENCE, not web design.

    • @rv4tyler
      @rv4tyler 3 ปีที่แล้ว

      ... and that is why I bailed from grad school. Also, most of the faculty considered the PC a fad and only used them to access the mainframe.

    • @SpricesExist
      @SpricesExist 3 ปีที่แล้ว +1

      @Rationalistic technical universities in Europe aren't as bad imo. The syllabus is mostly relevant, the time commitment isn't that high, tuition free for Europeans and very affordable even for intl students. I had to spend less than 25 hours weekly last sem for all coursework combined..

  • @rajarshivaidya444
    @rajarshivaidya444 4 ปีที่แล้ว +7

    I've searched far and wide for C++ related tutorials(video) for a developer who is good at C#, Java, Python, Web Frameworks, ..., and found very little results which satisfied me. They all start at vars, loops, ... and then they conclude at stl(most of the times).
    Finally, at long last, found someone who's teaching advanced stuff. Thank you for the tutes!
    Have a great day

  • @rban123
    @rban123 4 ปีที่แล้ว +1897

    I was pissed when he used x and y in that nested for loop. This comment made by i and j gang

    • @ichadhr8860
      @ichadhr8860 4 ปีที่แล้ว +5

      lol

    • @johnnypepperonii
      @johnnypepperonii 4 ปีที่แล้ว +51

      don't you forget k and n sir!

    • @deepudinesh2720
      @deepudinesh2720 4 ปีที่แล้ว +35

      Ah yes a man of culture, I see.

    • @penguin2251
      @penguin2251 4 ปีที่แล้ว +53

      Where is 'i' and 'ii' gang at?

    • @pinpon163
      @pinpon163 4 ปีที่แล้ว +217

      @@penguin2251 So you have chosen death

  • @tomkirbygreen
    @tomkirbygreen 4 ปีที่แล้ว +1

    Fab video as always sir. Don’t know how you manage to hit the sweet spot but I totally dig the level of detail you cover whilst still keeping it accessible.

  • @AJSquirrel53
    @AJSquirrel53 4 ปีที่แล้ว +16

    I really wish you had more time to make more videos! They are incredibly well thought out and insightful, and you actually put in the effort to explain why you make certain decisions.
    For example, I was able to (semi) easily translate your Asteroids game into C to run on a Linux embedded system/FPGA device with external peripherals for a school project last semester. I'm able to go from 0 to 100 quickly when learning from your videos. Thank you!

    • @javidx9
      @javidx9  4 ปีที่แล้ว +6

      Thanks Austin, Im pleased you got asteroids working embedded. Great Stuff!

  • @timothy8428
    @timothy8428 4 ปีที่แล้ว +266

    I took one look at the GUI code generated by Visual Studio and backed away slowly, not taking my eyes off it until I was a safe distance away. Then I closed and did not save.

    • @delian66
      @delian66 4 ปีที่แล้ว +37

      You should have also rebooted your system, just in case...

    • @codejunki567
      @codejunki567 4 ปีที่แล้ว

      Why is that?

    • @ForBreadAndFish
      @ForBreadAndFish 4 ปีที่แล้ว +23

      The boilerplate for windows and linux are both aids and cancer and gonorrhea of the eyes

    • @didaloca
      @didaloca 4 ปีที่แล้ว +14

      I never understood, even as a new programmer; why they raped the language like that.

    • @bigdawg4670
      @bigdawg4670 4 ปีที่แล้ว +21

      @@didaloca I never understood why they had to redefine every single variable type. What's wrong with int*? Why is PINT better?

  • @debbahisaad109
    @debbahisaad109 4 ปีที่แล้ว +3

    The way you code it on the fly makes it look easily feasible, honestly following the code I really didn't see how 45mn went on. Very clear and well explained. Great thanks for the time and effort spent on this, and for efficiently sharing practical knowledge the way you do. Hell I did sub and hit the bell!

    • @javidx9
      @javidx9  4 ปีที่แล้ว +1

      Hey cheers Debbahi!

  • @nic...9551
    @nic...9551 4 ปีที่แล้ว

    This is extremely useful, thank you. I i like how you break down what you're doing, and also explain why. I find that too often tutorials, simply inform us which buttons to click without really providing any detail. Thanks again!

  • @JoeSteele
    @JoeSteele 3 ปีที่แล้ว +1

    Bravo. I loved the comment about programmers working on large libraries having to spend a lot of time on managing build setup. Most if not all of the professional projects I have worked on involved hundred if not thousands of files and the compile times were measured in minutes (more than 60 sometimes). Thanks for the reality check.

  • @josephkelchner8592
    @josephkelchner8592 4 ปีที่แล้ว +24

    Totally love this tutorial!!!
    First time using Visual Studio(downloaded 2019 uninstalled, then installed 2017 for same look,
    First time using wxWidgets,
    First time using C++.
    From compiling wxWidgets to memory leak at the end which I figured out how to fix.
    Everything works!!!
    Great Job!!!

    • @theskillwarzchannel
      @theskillwarzchannel ปีที่แล้ว +2

      Good luck learning C++, it's a lot, but it's doable. Was my first programming language too.

  • @leonardochiruzzi7642
    @leonardochiruzzi7642 4 ปีที่แล้ว +6

    I hope you will continue with this series because I use wxwidgets and I often have difficulty understanding. You are great, another precious video. Thanks a lot.

    • @javidx9
      @javidx9  4 ปีที่แล้ว +5

      Thanks Leonardo, I think I will, this video had a great response!

  • @mikefochtman7164
    @mikefochtman7164 ปีที่แล้ว

    Just getting back into C++ after a long hiatus. I remember using MFC way back in 'the day' and have spent a bit of time exploring the current GUI landscape when I stumbled across your channel. Thank you so much for this video, it presents wxWidgets at a level I can appreciate. So I've already started the 'batch build' on this sdk and looking forward to using it.

  • @NVRMTmotion
    @NVRMTmotion 4 ปีที่แล้ว +2

    Pure gold! I've used a bit of tkinter in python and this felt very familiar. What a great jumping off point for more complex c++ projects!

  • @felns8166
    @felns8166 3 ปีที่แล้ว +4

    My God, the feeling when you said "but wait, before you click build, and this is very important..." literally a second after I clicked build cannot be described by words

  • @SapphFire
    @SapphFire 4 ปีที่แล้ว +4

    Nice tutorial. Glad to see how other frameworks do it since I've only used qt quick

  • @russellabraham9208
    @russellabraham9208 4 ปีที่แล้ว +1

    Great video thank you, I've spent the last 2-3 days looking for a good explanation of the concept, you managed to clear up some confusion!

  • @vehujee4547
    @vehujee4547 2 ปีที่แล้ว

    Wow, thanks for the great tutorial. Your style of explaining makes it easy to understand things even without any previous knowledge.

  • @ksawery6568
    @ksawery6568 4 ปีที่แล้ว +4

    What an amazing tutorial, exactly what I needed. Many thanks!

  • @banshee10000
    @banshee10000 4 ปีที่แล้ว +4

    I've been using Qt for cross platform Windows and Linux C++ development for nearly 12 years now (C++ & Qt self tough) but I'm always open to learning about other available technologies. Going to try and develop for macOS next once I get hold of one.

  • @aungthuhein007
    @aungthuhein007 11 หลายเดือนก่อน

    BIIIIGGGGG THUMBS UP! I've always been on the lookout for a channel exactly like this! TH-cam has blessed me today!

  • @aldrinaldrin4618
    @aldrinaldrin4618 4 ปีที่แล้ว +1

    Wow.. you've uploaded this just in time.
    I'm trying to learn wxwidgets just this month for my little kiddy project.

  • @kevinarannarodast
    @kevinarannarodast 4 ปีที่แล้ว +21

    I'm learning a lot from your videos! thank you. I do not speak English very well but you explain yourself clearly :)

    • @javidx9
      @javidx9  4 ปีที่แล้ว +4

      That's great and thanks Orphein!

  • @javidx9
    @javidx9  4 ปีที่แล้ว +4

    A heads up about the next community showcase video, if you want some of your projects featured in a video get them ready! I'll release submission details in due course. Im also looking to fill the onelonecoder.com website with a gallery of submissions.

  • @DanielGomez-mn5po
    @DanielGomez-mn5po 2 ปีที่แล้ว +1

    just wanted to add my voice to the praise you have received for this video. It has been extremely clear and has been a much needed resource for me. Thank you!

  • @jjones503
    @jjones503 3 ปีที่แล้ว

    My first time trying to learn c++ started with me opening the default window application, looking at the wall of code, and going immediately to java. I've since decided java isnt my cup of tea for a paticular program i am working on, and this video has given me hope once again.

  • @zanzaraloggan3713
    @zanzaraloggan3713 4 ปีที่แล้ว +9

    I was wondering why no one talks about a cross-platform C++ gui... and you come with this video! You are incredible!

    • @braindeveloperdimensional5579
      @braindeveloperdimensional5579 4 ปีที่แล้ว +2

      I am making a cross platform GUI API.
      It's not complete yet, just implemented some buttons and text box with scroller. It's ready for use.
      Its not good enough for a sophisticated application but it's colourful. As colourful as modern websites.

    • @zanzaraloggan3713
      @zanzaraloggan3713 4 ปีที่แล้ว +1

      @@braindeveloperdimensional5579 sounds amazing

    • @llothar68
      @llothar68 4 ปีที่แล้ว

      Because it's not possible anymore. The cross-platform toolkits are all design state of the art of 2003 (XP). Can't even handle animations from 2009 (Win7). There is no way then writing the gui client native. Try stuff like recycle view controller.

    • @llothar68
      @llothar68 4 ปีที่แล้ว

      @@braindeveloperdimensional5579 The first steps are always fucking easy and then you realize it's futile and doesn't scale.

    • @0xD1CE
      @0xD1CE 4 ปีที่แล้ว

      There's plenty of frameworks that allows you to create cross platform GUI's using native elements. en.wikipedia.org/wiki/List_of_platform-independent_GUI_libraries

  • @rezneba101
    @rezneba101 3 ปีที่แล้ว +72

    "I've never used a Mac"
    ..
    I love you

    • @mrcxx8694
      @mrcxx8694 3 ปีที่แล้ว +8

      Well I have used a Mac and, indeed, they're awful. Windows is way better but Linux is easily better than those two added together. I have plans to jump to Linux sometime in the future.

    • @rezneba101
      @rezneba101 3 ปีที่แล้ว +3

      @@mrcxx8694 I disagree but ok

    • @gutoguto0873
      @gutoguto0873 3 ปีที่แล้ว +2

      @@rezneba101 Both opinions are respectable! Linux is better at most things, Windows has it's uses though!

    • @unguidedone
      @unguidedone 3 ปีที่แล้ว +1

      @@gutoguto0873 yes yes this is correct and macs are totally useless

    • @Etienne_H
      @Etienne_H 2 ปีที่แล้ว

      Why your code and his is ugly. Windows nerd..

  • @doubledroppedhere
    @doubledroppedhere ปีที่แล้ว

    I'm a complete new person in software. Just getting done with a transfers. And THANK YOU SO MUCH FOR THIS VIDEO. I feel like whenever I ask people "What's next after the backend of my projects are pretty solid?" they give me either a very vague answer or an answer that goes way above my skill level. And this video I feel like I get a good crash course on the next step where I know what to learn on. This might be an older video so maybe this is outdated but for my inexperienced self its a great jumping off point.

  • @MadGeekGirl
    @MadGeekGirl 11 หลายเดือนก่อน

    I love the way you explain the reasoning behind things. Thank you and I hope you keep making videos.

  • @glitchy_weasel
    @glitchy_weasel 4 ปีที่แล้ว +4

    Besides from making me interested in GUI programming, you just taught me how to play mineswepper by understanding how its code works.

  • @NautilusMortanian
    @NautilusMortanian 4 ปีที่แล้ว +5

    Staunch Qt C++ developer here, and I've done Qt for ~10 years. I still love it, but your low-sodium pitch on Wx has me interested. Great video.

    • @dangputerz
      @dangputerz 4 ปีที่แล้ว +2

      qt looks terrible in windows and os/x compared to wx

  • @antonyholmes3420
    @antonyholmes3420 3 ปีที่แล้ว

    Great video, highly recommend, was looking around for a couple of days at different cross-platform GUI solutions for C++. All seemed to complicated, with this video I had a functional GUI in a couple of hours.

  • @user-cp7hu5we6f
    @user-cp7hu5we6f 4 ปีที่แล้ว +1

    Your tutorials accompany me through every lonely night, thank you!

  • @harleyspeedthrust4013
    @harleyspeedthrust4013 4 ปีที่แล้ว +22

    Oh dear sweet God and Jesus that mess at 18:40 takes me back to when I was learning the Win32 API in x86 Assembly...

    • @bigdraco3006
      @bigdraco3006 3 ปีที่แล้ว

      woah, RE pro?

    • @salainen6850
      @salainen6850 3 ปีที่แล้ว +1

      Oh nice, I'm doing that right now

  • @yper51
    @yper51 4 ปีที่แล้ว +9

    Just in time i needed for my work! ty

    • @javidx9
      @javidx9  4 ปีที่แล้ว +4

      Good stuff!

  • @tsraikage
    @tsraikage 4 ปีที่แล้ว +2

    dude. i find it funny that anytime i need something random always your videos pop up to save me 😂

  • @ChrisLeeW00
    @ChrisLeeW00 4 ปีที่แล้ว +1

    Thank you so much, I was a bit lost trying to install wx by myself!

  • @justin6409
    @justin6409 3 ปีที่แล้ว +3

    15:00 There's actually a few programs that overcome this issue, it's called "CCache" and "DistCC", we use those at my office. It reduced compile times from about 45 minutes to just 5 minutes. Another thing to consider is the MSVC compiler is much slower than GCC.

  • @petercsala
    @petercsala 4 ปีที่แล้ว +335

    No mom, I'm not procrastinating

    • @johnnypepperonii
      @johnnypepperonii 4 ปีที่แล้ว +8

      HAHAHAHA reading this 2 hours before my exam.. damn..

    • @Nick-wz6tz
      @Nick-wz6tz 4 ปีที่แล้ว

      @SweetTea Thank you, bro. strange , but it kinda helped )))

    • @asherhaun
      @asherhaun 3 ปีที่แล้ว

      taking the ACT tommorow :D

    • @angelcaru
      @angelcaru 3 ปีที่แล้ว

      r/madlads

  • @adamjankowski5755
    @adamjankowski5755 4 ปีที่แล้ว +1

    Phenomenal video javid. Hope to see more of these.

  • @BryonAbbott
    @BryonAbbott 4 ปีที่แล้ว +1

    Thanks for spending the time on this, I found it very useful and will be watching the sequel, also looking to compile this on WSL and Raspberry PI to see how it looks.

    • @javidx9
      @javidx9  4 ปีที่แล้ว

      Thanks Bryon, I must confess ive not tried wx on an rpi before, I assume it should be ok, but im curious now :D

  • @kevinstefanov2841
    @kevinstefanov2841 3 ปีที่แล้ว +12

    "Some of us just love C++ so much that that's the language we are going to stick with"... I love your channel! I'm a recent graduate in computer science and C++ is BY FAR my favourite language. I'm at page 353 in "The C++ Programming Language" book. Keep the great videos coming! C++ for life!

    • @shehabbadawy9523
      @shehabbadawy9523 2 ปีที่แล้ว

      I'm currently reading this book, I feel frustrated every time I read it because there are a lot of things that I can't get even though I know C and have a good knowledge about OOP from C# and JAVA , I'm in part 1 ''A Tour of C++'', should I keep reading it ?

    • @kevinstefanov2841
      @kevinstefanov2841 2 ปีที่แล้ว

      @@shehabbadawy9523 it's not a book for beginners in c++

    • @shehabbadawy9523
      @shehabbadawy9523 2 ปีที่แล้ว

      @@kevinstefanov2841 i know
      I wanted to ask you if it paid off at the end

    • @kevinstefanov2841
      @kevinstefanov2841 2 ปีที่แล้ว +1

      @@shehabbadawy9523 i would say there are better books. Lately i've gone to manuals and online courses instead of books cuz books tend to be dry. Right now im doing the "Learn Assembly Language by making games for the Atari" course on Udemy, reading my second book on C called "Extreme C" and reading a really cool manual about C/C++ optimizations by Agner Fog (he actually has a bunch of manuals but the rest are even more technical). In my opinion books are too slow - you can get the same amount of knowledge or even more with a tenth of the time by doing the right online courses and finding the right manuals. Also, I want to add that I've switched to C now, not C++ anymore. C is way better. Right now i'm working on Xen Hypervisor for my job and it's really fun. It's made mainly in C.

    • @shehabbadawy9523
      @shehabbadawy9523 2 ปีที่แล้ว

      @@kevinstefanov2841 wow nice, well c is my main language but didn't make any real project with it except a trivial airport system and using it in problem solving questions
      Can u suggest some projects to do with it
      Thank u very much for replying

  • @rextimmy
    @rextimmy 4 ปีที่แล้ว +23

    13:34 It should be noted that Visual Studio 2017 = Visual Studio Version 15.x

  • @dirkjensen935
    @dirkjensen935 3 ปีที่แล้ว

    Can I just say thank you!!
    I've spent a while building some code that does a bunch of small quality of life things that I needed to do while I was working on my honors project last year and now I'm finished I wanted to wrap it in a GUI so that it's more user friendly, I realised when I got to the end of the project converting it all to python would probably have been easier than trying to figure out GUI with C++. I had a brief encounter with MFC before deciding that I was not going to be able to figure that out (documentation is dense, and not a lot of great examples).
    Then your video pop's up on my radar, I'm up and running in a day and able to just get on with it. Thank you so much, trying to find a framework is hard enough without tutorials teaching you to set everything up just to stop before showing you any code and leaving you high and dry. This was the perfect amout of technical detail for me to just dive right in and the code examples wx widgets offers looks like enough to get everything that I need off the ground. Honestly have no idea how much easier you have made my life. Hats off to you Sir. :)

  • @georgefratila6773
    @georgefratila6773 3 ปีที่แล้ว

    Hi ! I have to admitt that I like very much how you present all these programming subjects. It is on top of my favourite channels !

  • @spejik
    @spejik 3 ปีที่แล้ว +11

    Just a correction: the wx solution name (wx_vc15.sln) doesn't mean Visual Studio 15, but it stands for the version of Visual Studio in the Installer, which is 15.x.x for Visual Studio 17, 16.x.x for VS19 etc...

  • @BulkiestSplash2
    @BulkiestSplash2 4 ปีที่แล้ว +3

    Not all Heros wear cape! keep this compartment of wisdom!!

  • @_ifrit
    @_ifrit 4 ปีที่แล้ว +1

    Im currently relearning everything from before enlistment and really enjoy your videos. Thank you !

    • @javidx9
      @javidx9  4 ปีที่แล้ว

      Hey that's great Kurijomo!

  • @Argletrough
    @Argletrough 3 ปีที่แล้ว +1

    I have had a dip into GTK and even xcb before, and I must say I am very pleased by the tiny amount of boilerplate code needed to create a wxWidgets program. Thank you!

    • @javidx9
      @javidx9  3 ปีที่แล้ว

      Cool!

  • @VredesbyrdNoir
    @VredesbyrdNoir 4 ปีที่แล้ว +4

    Great video! Really makes me appreciate cross-platform applications that have a proper GUI.
    Any chance you could put the source code into your GitHub repo?

  • @adampace1492
    @adampace1492 4 ปีที่แล้ว +17

    Well you see, my laptop is slow so I was able to have 2 cups of coffee instead of one

  • @leandroneves8496
    @leandroneves8496 ปีที่แล้ว

    Thanks a lot! Helped me to make up my mind about what framework to work with c++ GUI. Congrats!

  • @dcastro8492
    @dcastro8492 2 ปีที่แล้ว

    That lesson just flew by. Very interesting.
    Thank you.

  • @brock2k1
    @brock2k1 4 ปีที่แล้ว +27

    You had me at "it's like applying a cheese grater to one's buttocks."

  • @FilSapia
    @FilSapia 4 ปีที่แล้ว +4

    I always really liked QT as a framework, I'm mainly a C# programmer but I felt quite a home in QT as the bindings are easy and just make sense. Not to mention the documentation is excellent which cannot be said for many C++ frameworks :)

    • @papasmurf9146
      @papasmurf9146 2 ปีที่แล้ว

      I've used Qt framework for years and just recently got a bug up my nose to try out other frameworks. I haven't seen anything yet that convinces me to move away from Qt. The amount of "plumbing code" to get up and running in Qt seems less than for other frameworks.
      I admit that alarm bells went off when I saw "windows ID" being used with the wxFramework. Visual Studio v6's resource IDs were the bane of my existence for trying to share code between projects. I've never had issues with sharing Qt code between projects (which does not have resource/window IDs).

    • @javidx9
      @javidx9  2 ปีที่แล้ว +3

      They're optional in wx, sometimes useful, but mostly you bind to the control directly now. Well for last 10 years anyway.

  • @reststop3632
    @reststop3632 4 ปีที่แล้ว

    Thank you. Your videos and thorough explanations fill many of the nooks and crannies of my non-understanding.

  • @BlueJayBonsai
    @BlueJayBonsai 4 ปีที่แล้ว +2

    I’m loving this series! 👍 Can’t wait for the next video.

  • @reinholdpreiner4854
    @reinholdpreiner4854 4 ปีที่แล้ว +15

    "... and printing stuff - for those that still print things."

  • @godDIEmanLIVE
    @godDIEmanLIVE 4 ปีที่แล้ว +3

    This channel and the Cherno = love.

  • @mtrethowan
    @mtrethowan 3 ปีที่แล้ว

    Thank you. A very easy to follow tutorial. I have sent the link to a friend who is just beginning in C. Cheers.

  • @KaaBockMehr
    @KaaBockMehr 4 ปีที่แล้ว +1

    a very lovely tutorial. your structure is as it should be- some historical context, some theory, how to use it and a very nice example at the end. i whish some of the practical lessons at university were as good as your tutorials.

    • @javidx9
      @javidx9  4 ปีที่แล้ว

      That's very kind of you to say, thanks very much!

  • @AustinAwsome
    @AustinAwsome 3 ปีที่แล้ว +4

    For anyone else having a bunch of build errors popping up, my solution was to enable the "Windows 10 SDK" under the "Visual Components" tab in the Visual Studio installer.

  • @sweetberries4611
    @sweetberries4611 4 ปีที่แล้ว +4

    I expected something different but that's quite good too

  • @josedavidurenatorres364
    @josedavidurenatorres364 3 ปีที่แล้ว

    Excellent introductory video! Just what I looking for

  • @suuuzhkkine7325
    @suuuzhkkine7325 ปีที่แล้ว

    Thanks a lot. I first tried using VSCode but yeah... that was way too much configuration for some hobby free time project. I don't want to spend my whole free time configuring.
    Simple, clear, it works, I'm happy, thank you.

  • @compaqdisc6362
    @compaqdisc6362 4 ปีที่แล้ว +12

    Compiling on (Arch) Linux requires gcc, wxgtk3, and wxgtk-common. run: "g++ cApp.cc cMain.cc -Wall $(wx-config --cxxflags --libs) -o App"

  • @raghavpandit6254
    @raghavpandit6254 3 ปีที่แล้ว +5

    A quick tip :) First start build process 10:30 then watch first ten minutes of video

  • @KyleLuce
    @KyleLuce 3 ปีที่แล้ว

    I was writing test tools at an internship using wxwidgets, GTK and QT. That was 13+ years ago... I'm floored that these are still the defacto best choices for a portable GUI in C++.

  • @grzesiek1x
    @grzesiek1x 2 ปีที่แล้ว

    btw I am so happy that I have finally started with frameworks ! (bought already a book dedicated wxWidgets in my native language). It is like a new motivation for me for programming because all the time in the console I was a little bit bored but this is like a refresh for my mind :)

  • @mitet101
    @mitet101 3 ปีที่แล้ว +3

    For anyone wondering why evt returns errors: make sure you used an ampersand (&), not a dollar sign ($) in the declaration =) At least in my case, that was the only problem.

  • @whoeverofhowevermany
    @whoeverofhowevermany 3 ปีที่แล้ว +36

    "I've never used a Mac."
    Hey I'm finally subscribing.

    • @___xyz___
      @___xyz___ 3 ปีที่แล้ว

      I... don't know what to say

    • @whoeverofhowevermany
      @whoeverofhowevermany 3 ปีที่แล้ว +3

      @@___xyz___ if you don't know what to say then I don't know why you felt the need to say it

    • @___xyz___
      @___xyz___ 3 ปีที่แล้ว +1

      @@whoeverofhowevermany the need to say I didn't know what to say came from knowing that saying I'm not knowing is better knowing than explicitly saying doubtfully that being optimistic about ignorance is ignorant

    • @whoeverofhowevermany
      @whoeverofhowevermany 3 ปีที่แล้ว

      @@___xyz___ welcome to the core logic of language

    • @___xyz___
      @___xyz___ 3 ปีที่แล้ว

      @@whoeverofhowevermany welcome to the world of computers :-)

  • @jmin1742
    @jmin1742 4 ปีที่แล้ว +1

    Great stuff, thanks for doing these videos!

  • @NoName-mr1lh
    @NoName-mr1lh 4 ปีที่แล้ว +1

    Very informative and interesting tutorial, thanks!

  • @kuhluhOG
    @kuhluhOG 4 ปีที่แล้ว +27

    12:36 Vulkan, hmm, are we going to see something about Vulkan at some point?

    • @R1c0bones
      @R1c0bones 4 ปีที่แล้ว +4

      I am excited if this happen. I am learning vulkan and making my own wrapper while at it, I learn and develop.

    • @yogxoth1959
      @yogxoth1959 4 ปีที่แล้ว

      That would be awesome!

  • @TheOneTrueMaNicXs
    @TheOneTrueMaNicXs 4 ปีที่แล้ว +2

    I've been using native windows APIs for GUIs for year after seing this I may switch to WX.

  • @urduscreen1209
    @urduscreen1209 3 ปีที่แล้ว

    dude i wanted to learn C++ Gui for long time but i haven't touched it. because Windows API looks insane to me. idk why they choosed to do it that way. since i have been watching your channel. you just changed my life as a coder ;) thanks javid ^^

  • @smnbgn
    @smnbgn ปีที่แล้ว

    Thanks for the video. My professor told me to code some algorithms in C++, so I started to learn wxWidgets for the GUI. Now I will go read the official book..

  • @manbirjudge8415
    @manbirjudge8415 3 ปีที่แล้ว +3

    Qt and Wx are also one of the best GUI development frameworks for Python as I am originally a Python Developer (not professional but pro) and I am learning C++ for GUI development because I think Python is not for GUI and I learned that C++ is also not for GUI but if I have learned it I will stick to as I am stuck to Python.
    Long story short: Qt and Wx are also one of the best GUI development frameworks for Python.

    • @Schcarraffone
      @Schcarraffone 2 ปีที่แล้ว +1

      yes and if you add something like wxwidgetsbuilder or dialogblocks you get to a proototype even faster... (or qtcreator for qt)

  • @BGFutureBG
    @BGFutureBG 4 ปีที่แล้ว +34

    Is it a bad sign that I don't find WINAPI code messy anymore? 🤔😂
    Have I been doing this for too long? 🤔🤔

    • @SirusStarTV
      @SirusStarTV 3 ปีที่แล้ว

      Now i understand that shit, but not too much.

    • @SirusStarTV
      @SirusStarTV 3 ปีที่แล้ว

      Now i understand that shit, but not too much.

    • @gnarfgnarf4004
      @gnarfgnarf4004 3 ปีที่แล้ว +1

      WinAPI is like the Stone Age compared to Qt.

    • @GeorgeTsiros
      @GeorgeTsiros 2 ปีที่แล้ว +3

      @@gnarfgnarf4004 i, too, enjoy increasing the size of my program from some kilobytes to 100+ MB just by including one library

    • @gnarfgnarf4004
      @gnarfgnarf4004 2 ปีที่แล้ว

      @@GeorgeTsiros Nonsense. I ship a complete graphics app, 750KLOC, PDF, XLSX, XML etc. at 27MB. You're doing it wrong.

  • @slava7518
    @slava7518 4 ปีที่แล้ว +1

    Thank you for the videos. I'm very interested in C++ programming. Good luck with other videos.

  • @razmen6341
    @razmen6341 4 ปีที่แล้ว +3

    This is my forst time in this channel. As soon I heard "I never used a Mac before" I clicled that subscribe button.

    • @jscorpio1987
      @jscorpio1987 3 ปีที่แล้ว

      What is a “forst” and a “clicled”? And bravo! 👏 Do you feel like one of the cool kids now that you’ve announced your baseless hate for people that don’t share your platform preference?

  • @sent4dc
    @sent4dc 4 ปีที่แล้ว +4

    Yeah, dude, I'm kinda curious to see how do you program your own GUI with wxWidgets?
    PS. Also I'm somewhat confused. How does it know what to auto-delete or what not to? Or, you just don't delete anything at all :)

    • @Henrik0x7F
      @Henrik0x7F 4 ปีที่แล้ว

      A parent will delete its children on destruction

    • @sent4dc
      @sent4dc 4 ปีที่แล้ว

      @@Henrik0x7F that's not how things are done in C++.

    • @javidx9
      @javidx9  4 ปีที่แล้ว +1

      Well that depends on what you have programmed your destructor to do of course

    • @Henrik0x7F
      @Henrik0x7F 4 ปีที่แล้ว

      @@sent4dc I thought you where talking about wxWidgets specifically

    • @sent4dc
      @sent4dc 4 ปีที่แล้ว

      @@Henrik0x7F well yeah. wxWidgets are written in C++. So doing that delete-this hack from the destructor is a recipe for bugs, memory leaks and code vulnerabilities.

  • @abdietabrizi1723
    @abdietabrizi1723 ปีที่แล้ว

    Great job! Appreciate your clear and detailed explanation.

  • @jdeleca
    @jdeleca 3 ปีที่แล้ว

    Cool vid! I didn't read the description and I was hoping that you mention wxWidgets, I thought that this video will be about Qt
    I think it's very difficult to desing forms in C++, coding manually the width and height and top and left, then build to see how it looks can be a PITA, I've used the free tool wxFormBuilder to design forms but what it's difficult in the sizer to make the control fit well in the form

  • @VLS-Why
    @VLS-Why 4 ปีที่แล้ว +8

    Hahaha several of the projects at my work are 1 million+ LoC. Just glad we have beefy computers and build automation

    • @javidx9
      @javidx9  4 ปีที่แล้ว +4

      lol, yeah, and hopefully a good build manager looking after it all! You have my sympathies! (love the name btw XD)

    • @VLS-Why
      @VLS-Why 4 ปีที่แล้ว +1

      @@javidx9 Thankfully management understands having a reliable software ecosystem, so we have tons of pipelines to check our work before anything is merged and alert us to any issues. All of our build servers are cloud based though, so if we get disconnected we have to call up and yell at Microsoft, Amazon, Google ect.
      Love the channel! (Although I am partial to Linux development :) )

    • @Damaniel3
      @Damaniel3 4 ปีที่แล้ว

      We have one that's just over 3M lines of code, mainly in C++. It also uses Qt, which isn't that great from a compile time standpoint (though I'm not sure how much faster a wxWidgets version of the codebase would compile). Like you said though, powerful build servers and a Jenkins instance to manage build automation works wonders.

  • @alanjaldred
    @alanjaldred 4 ปีที่แล้ว +6

    Error 111: Out of coffee. Continue with tea bags? (Y/N)

    • @javidx9
      @javidx9  4 ปีที่แล้ว +1

      Absolutely. In fact, coffee is what one should drink only once they have has depleted their tea bags.

    • @Tornado11PL
      @Tornado11PL 4 ปีที่แล้ว +1

      Then you have error 418 ;)

  • @isuruutube
    @isuruutube 4 ปีที่แล้ว

    Thank you so much! Helped me immensely!

  • @v19torrent4
    @v19torrent4 3 ปีที่แล้ว +1

    That hit hard when he said build times are extremely long for people who work on massive projects. You, sir, are correct. I work as a full time software developer. We have thousands of lines of code and hundreds of files. Build times are upwards of 40 minutes for some team members!

  • @doot2359
    @doot2359 4 ปีที่แล้ว +2

    "Let's make mines sweper"
    I see you are a mind reader !