Jump to content

GUI programming class

Teddy07

I have a GUI programming class where we have to program a small project in preparation for the exam. My language choices are down to Java, C++ with Visual Studio and Python because I know the first two a bit and wanted to learn Python in the future anyways. I have never done GUI programming so far and I am a beginner overall. I would like to avoid a language where it is a pain to do GUI.

 

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

html

Ryzen 5700g @ 4.4ghz all cores | Asrock B550M Steel Legend | 3060 | 2x 16gb Micron E 2666 @ 4200mhz cl16 | 500gb WD SN750 | 12 TB HDD | Deepcool Gammax 400 w/ 2 delta 4000rpm push pull | Antec Neo Eco Zen 500w

Link to comment
Share on other sites

Link to post
Share on other sites

Well, I think we should break down the pros and cons of your 3 options. This is by no means an exhaustive list, but it should get you started thinking on the right path.

  • Python
    • Pros
      • The language is easy
      • There is a plethora of libraries available to ease GUI programming
    • Cons
      • You don't know the language yet
      • Many of the available libraries don't have good documentation
  • C++
    • Pros
      • You know the language
      • You get to learn what the libraries in other languages are doing for you
      • It can be easier to build annoyingly silly applications. This one is by no means complete, but it's a start: https://github.com/superstewie/Dumb-Window
    • Cons
      • If you've never worked with Win32-COM or XWindows, this is the most difficult option
  • Java
    • Pros
      • You know the language
      • Some native support for building a GUI
      • "Commercial" libraries are available
      • You'll make @wasab happy.
    • Cons

 

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

Microsoft to their credit, has made basic GUI applications fairly simple with Windows Forms.  Take a look here if you want a quick example

 

They handle the majority of the grunt work when it comes to the UI elements, just leaving you with setup, cleanup, and handling the events when a form element is activated.

 

I don't have any experience with GUI's in Java or Python unfortunately, so I can't give any real comparisons between the different languages.

 

Link to comment
Share on other sites

Link to post
Share on other sites

C++ might get the ability to use the Windows forms in visual studio which when I used C# was nearly drag and drop. 

QT is a C++ library that’s cross platform that studios like activision require. 

Applications like Reaper DAW use this as their GUI library of choice. Idk how easy it is to use/setup. 

 

HTML isn’t really a helpful suggestion but tying it with PHP is quick & easy. 

 

HOWEVER Html extends beyond. You can format your visual studio forms with XHTML (extended hypertext ... extended HTML.) 

 

a nice windowing API for java is Princeton’s std draw library 

Link to comment
Share on other sites

Link to post
Share on other sites

Try kivy, it's a python library that makes programming GUIs very easy

 

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

For C++: Windows Forms for the most part, least involvement. For cross-platform I'd use GTK, it has a nice UI designer called Glade. It's way more involving on Windows, though, you'd need to be well versed with the compile process/library linking, but works out of the box on Linux and with relative ease on MacOS.

 

Java has this thing called Swing. I remember it being more of less painless. Well, it's Java anyway, I don't really see the purpose to write anything new on it anymore, unless it's an app :D

 

Python probably has it's own thing, or you can pretty much pick any comfortable lib and there will be bindings I'm sure. Definitely remember there being GTK bindings.

 

Good luck!

Link to comment
Share on other sites

Link to post
Share on other sites

On 4/29/2019 at 10:48 AM, Teddy07 said:

My language choices are down to Java, C++ with Visual Studio and Python because I know the first two a bit and wanted to learn Python in the future anyways.

Use C++. There are a few fine frameworks for it, notably wxWidgets and Windows Forms.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×