Author Topic: GUI IDE for Linux  (Read 8165 times)

0 Members and 1 Guest are viewing this topic.

Offline hamdi.tnTopic starter

  • Frequent Contributor
  • **
  • Posts: 638
  • Country: tn
GUI IDE for Linux
« on: August 11, 2017, 02:33:44 pm »
Hi,

So i start a project. A production test bench, historically it used a PC, and i thought this is a bit of an overkill, basically all the bench do is to calibrate and program a chip by sending some command with serial port.
Why not a Pi 3 and i thought this could be a good learning experience for me. I always develop applications for Windows (Delphi and Visual C)  so i thought this can't be any harder and i can learn some new stuff.

I already developed the code needed for the bench to work but terminal style, nothing special here. Now am stuck ... i can't find an IDE capable of developing graphic user interface ... or at least a easy one ... i found "Glade" it sure help designing the UI but if it's more than a couple of buttons you get lost in infinite code to make it work. Am i missing something ...  :-//
 

Offline mrjiffy6

  • Contributor
  • Posts: 10
  • Country: ca
Re: GUI IDE for Linux
« Reply #1 on: August 11, 2017, 02:44:55 pm »
There is QtCreator out there that allows you to develop quite complex GUI. However you will have to stick with QT rather than GTK for Glade.
 

Offline mrjiffy6

  • Contributor
  • Posts: 10
  • Country: ca
Re: GUI IDE for Linux
« Reply #2 on: August 11, 2017, 02:54:43 pm »
About the code it's generating, well there's no magic there... All GUI development IDE works about the same way: under the hood it generates the code that instanciates the widgets, sets their properties, define callback handlers, etc. Indeed, the more your GUI complexity increases, the more code it will generate, but you shouldn't really have to mess with it at all.
« Last Edit: August 11, 2017, 02:59:56 pm by mrjiffy6 »
 

Offline tombi

  • Regular Contributor
  • *
  • Posts: 163
  • Country: au
Re: GUI IDE for Linux
« Reply #3 on: August 11, 2017, 03:00:51 pm »
Not totally easy (as the docs aren't great) but I had some success with Kivy Pi.

And you can use Pycharm as an IDE although not for graphically designing the GUI. You can even use pycharm remotely from the Pi but run/debug the code on the Pi as you develop.

Kivy provide a tool for developing GUIs using their framework I think but I've not tried it.

Tom
 

Offline jiro

  • Contributor
  • Posts: 16
  • Country: mx
  • We are slaves of our own freedom
Re: GUI IDE for Linux
« Reply #4 on: August 11, 2017, 03:06:23 pm »
There are a few alternatives, as mrjiffy6 you could use QtCreator or Glade then glue your code, also you can use something like Lazarus if you are familiar wih Delphi you're gonna love it, just take a look to the screenshots and you'll see, the languaje is object pascal too and it works on all mayor OS and some other with basically no or little change in your code.

There are not a lot of options for a drag'n'drop IDEs in linux, but I hope this helps.
 
The following users thanked this post: igendel

Offline mrjiffy6

  • Contributor
  • Posts: 10
  • Country: ca
Re: GUI IDE for Linux
« Reply #5 on: August 11, 2017, 03:23:41 pm »
I should also point out that newer versions of Glade/GTK+ deals with the UI layout with a XML formatted file and therefore loads the widgets dynamically, so you don't end up with thousand lines of code just for instanciating your whole GUI. But then again, no magic there! The widgets are still instanciated under the hood :)
 

Online igendel

  • Frequent Contributor
  • **
  • Posts: 377
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: GUI IDE for Linux
« Reply #6 on: August 11, 2017, 03:27:11 pm »
If you're already familiar with Delphi, why not use FPC/Lazarus? It's free, cross-platform, Graphical, Object Pascal and everything. Even works directly on Raspberry Pi.

https://sourceforge.net/projects/lazarus/files/

[...and only hours later I saw that jiro wrote the same before me...  :) ]
« Last Edit: August 12, 2017, 12:43:59 am by igendel »
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 

Offline TomS_

  • Frequent Contributor
  • **
  • Posts: 861
  • Country: gb
Re: GUI IDE for Linux
« Reply #7 on: August 11, 2017, 03:47:00 pm »
You could look at Java, it might be a bit overkill but your apps should be able to run on Linux, Windows, Mac and any other platform that has a JVM available for it.

Otherwise there are other options, such as curses which can be used to build "TUIs" (text user interfaces) like the good old days.

In recent years I wrote a tool using Python and curses that manages optical transmission nodes. Text boxes, buttons, scrollable lists - it was all there. It is a bit of work though as you need to do a lot of the input handling and drawing yourself. So in that case it might be better to look at some of the cross platform graphical libraries, I think "Tk" is another one.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23102
  • Country: gb
Re: GUI IDE for Linux
« Reply #8 on: August 11, 2017, 03:58:16 pm »
Look at wxpython. It's platform portable as well as being not too verbose. Don't expect any pointy clicky stuff though.

https://wiki.wxpython.org/Getting%20Started
« Last Edit: August 11, 2017, 03:59:48 pm by bd139 »
 

Offline mrjiffy6

  • Contributor
  • Posts: 10
  • Country: ca
Re: GUI IDE for Linux
« Reply #9 on: August 11, 2017, 04:05:09 pm »
You could look at Java, it might be a bit overkill but your apps should be able to run on Linux, Windows, Mac and any other platform that has a JVM available for it.

Otherwise there are other options, such as curses which can be used to build "TUIs" (text user interfaces) like the good old days.

In recent years I wrote a tool using Python and curses that manages optical transmission nodes. Text boxes, buttons, scrollable lists - it was all there. It is a bit of work though as you need to do a lot of the input handling and drawing yourself. So in that case it might be better to look at some of the cross platform graphical libraries, I think "Tk" is another one.

Are you sure you didn't meant curses looks a bit more overkill than Java? :) Nowadays, thank you for remembering me the good old days of ncurses! Sometimes it was quite a struggle :box:! Framework like CDK allowed you to quickly get up a working GUI interface if you didn't want to mess with the fidly details underneath it.

The last GUI project I worked on was an addon for anaconda/initialsetup (fedora's installer) which uses glade/gtk/python and I must say it was pretty straightforward to use. Make your UI layout with Glade, write your code, plug in your callback handlers and, like Dave would say, you were in like Flynn!

 
 
The following users thanked this post: TomS_

Offline HoracioDos

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: ar
  • Just an IT monkey with a DSO
Re: GUI IDE for Linux
« Reply #10 on: August 11, 2017, 06:26:17 pm »
I would go for wxWidgets or Qt with python for GUI. Pycharm is also an excellent choice to write No-Gui scripts but it's not for ARM. You can use Adafruit WebIDE

I would recommend you to read these short articles to get an idea about writing code for GUI in a raspberry pi.

7 Top Python GUI Frameworks for 2017: http://insights.dice.com/2014/11/26/5-top-python-guis-for-2015/
Raspberry Pi GUI Tutorial - https://www.baldengineer.com/raspberry-pi-gui-tutorial.html
« Last Edit: August 12, 2017, 06:19:21 pm by HoracioDos »
 

Offline jmelson

  • Super Contributor
  • ***
  • Posts: 2957
  • Country: us
Re: GUI IDE for Linux
« Reply #11 on: August 11, 2017, 07:20:35 pm »
Not sure this is what you are asking for, but I've used Glade configured to generate an XML file, and then set up a c program to work as the "back end" for that.  Some issues with Glade is it doesn't handle revising the GUI all that well, so I generally end up editing the XML once it gets close to what I want.

Jon
 

Online kripton2035

  • Super Contributor
  • ***
  • Posts: 2900
  • Country: fr
    • kripton2035 schematics repository
Re: GUI IDE for Linux
« Reply #12 on: August 11, 2017, 08:29:22 pm »
take a look at Xojo : http://www.xojo.com/index.php
develop for linux, macos, windows, raspberry (and many arm7+ devices), ios, (android to come next year)
one IDE, same programming language for all platforms.
free to use, you pay when you compile a standalone app.
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6736
  • Country: nl
Re: GUI IDE for Linux
« Reply #13 on: August 11, 2017, 09:03:51 pm »
take a look at Xojo : http://www.xojo.com/index.php
develop for linux, macos, windows, raspberry (and many arm7+ devices), ios, (android to come next year)
one IDE, same programming language for all platforms.
free to use, you pay when you compile a standalone app.
What do you mean free to use when you have to pay if you want to compile?
 

Offline hamdi.tnTopic starter

  • Frequent Contributor
  • **
  • Posts: 638
  • Country: tn
Re: GUI IDE for Linux
« Reply #14 on: August 12, 2017, 12:00:04 am »
Thank you all for you your help  :D

also you can use something like Lazarus if you are familiar wih Delphi you're gonna love it, just take a look to the screenshots and you'll see, the languaje is object pascal too and it works on all mayor OS and some other with basically no or little change in your code.

There are not a lot of options for a drag'n'drop IDEs in linux, but I hope this helps.

If you're already familiar with Delphi, why not use FPC/Lazarus? It's free, cross-platform, Graphical, Object Pascal and everything. Even works directly on Raspberry Pi.

https://sourceforge.net/projects/lazarus/files/

Well ... i truly loved it, the only reason i didn't consider using pascal is that i did basically all needed code with C so i was looking for something using C. But i think it will be easier for me to modify it to Pascal. Thanks a lot. am continuing with this  :-+


Not sure this is what you are asking for, but I've used Glade configured to generate an XML file, and then set up a c program to work as the "back end" for that.  Some issues with Glade is it doesn't handle revising the GUI all that well, so I generally end up editing the XML once it gets close to what I want.

Jon

I think Glade is Ok for simple applications, but it's a bit tricky to use to design the form, not enough intuitive, i know am totally noob with this but the simple task of placing and resizing interface component was frustrating and time consuming
 

Offline Fredderic

  • Regular Contributor
  • *
  • Posts: 69
  • Country: au
Re: GUI IDE for Linux
« Reply #15 on: August 12, 2017, 07:15:29 am »
I've just recently gotten back into GUI's myself, after a 20 year lull.  Back then, it was Linux with GTK2, GTK3 and Glade were pretty new and a little too flaky to be worth the effort.  Now, just a couple weeks ago, I found myself wanting to throw together a small Modding GUI toolkit for a friend who's, well, not the most technically minded.

So I started with what they already have installed, Python and Tkinter...  Well, that was a horrendous experience.  The Python->TCL->TK hop-skip-and-jump routine is, frustrating, and at the end of it, TK's not exactly the most capable of GUI's.  Don't get me wrong, I love TCL, it's a fantastic language, I was very deeply into it back in Uni, getting into the guts of the language.  But TK...  While it kind of works in TCL, it's frustrating as heck in Python.  Take for example, checking to see if a tree item is hidden, it returns a '0'.  Not the number, it returns it as a string.  If you forget to explicitly cast it to an int, you get True (in TCL, it's a number with a string representation, and it'll use it as a number in any numeric context, but when translating it to Python, you just get the string rep).  As for the other Python GUI options, both myself and my friend are presently in Windows and, well, getting any of them to actually install cleanly was... problematic.  And if I had trouble getting those toolkits to install...

So I started looking for better options.  And I came across one I think well worth mentioning.  GtkD.  D really is a better C/C++ (I remember being rather disappointed when Dave dismissed it as merely C++ == D naming silliness, seemingly without actually looking at the language itself); it's an absolutely beautiful under-rated language, IMHO, which pretty much covers the useful parts of C#, without feeling like the proverbial "everything and the kitchen sink" that's all too common with Microsoft frankencreations.  And paired with GtkD (which has a few minor gaps still, but nothing serious) bringing with it GTK3/Glade, has been a comparative delight to work in.  I did miss GTK, but I didn't miss C (though it was certainly educational in the ways of OOP back in the day), and this combination is just delightful.

Now, I'd rather be using Dgui, I'm pretty sure it would be far more effective, rather than GTK through a layer of D wrappers (where all that CTFE goodness is very little to chew on), though when I was poking around for options which just work so I could get on with re-implementing that toolkit, it was throwing page fulls of errors with the basic Hello World example, very little idea what the problem was.  Plus I don't think it had a GUI builder, though I think there may have been something to do with Visual Studio — which I'm not using (gvim is my present IDE at the moment).  But, I needed something I could get up and running with now, and more importantly, that just worked for my friend, too.  I'll have a look at Dgui again later, because I'm sticking with D for my personal projects now, but GtkD was the easiest option to get going in again; partly due to my prior familiarity to GTK, and I just had to give my friend the GTK3 runtime installer, along with my compiled binary (a shared Dropbox folder works wonders), and they were good to go.
 

Online kripton2035

  • Super Contributor
  • ***
  • Posts: 2900
  • Country: fr
    • kripton2035 schematics repository
Re: GUI IDE for Linux
« Reply #16 on: August 12, 2017, 09:29:50 am »


Quote from: Kjelt on Yesterday at 23:03:51


>Quote from: kripton2035 on Yesterday at 22:29:22
take a look at Xojo :
http://www.xojo.com/index.php
develop for linux, macos, windows, raspberry (and many arm7+ devices), ios, (android to come next year)
one IDE, same programming language for all platforms.
free to use, you pay when you compile a standalone app.


What do you mean free to use when you have to pay if you want to compile?


it is free as long as you open it from the IDE, i.e. in debug mode.
if you want to launch it from the operating system, you must have a licence to compile it first.
if you want to make open source apps, you can give your source and users can launch it from the free IDE also.


also, the IDE is *very* user friendly and the forum peoples are very helping.
« Last Edit: August 12, 2017, 09:32:06 am by kripton2035 »
 

Offline BBBbbb

  • Supporter
  • ****
  • Posts: 328
  • Country: nl
Re: GUI IDE for Linux
« Reply #17 on: August 12, 2017, 10:04:31 am »
That does not make it "free", at best you could say there is a free demo.
 

Offline Avacee

  • Supporter
  • ****
  • Posts: 299
  • Country: gb
Re: GUI IDE for Linux
« Reply #18 on: August 12, 2017, 10:20:52 am »
I use Visual Studio and SMB shares on the Raspberry Pi and RDP into the Pi as required.

No need for a keyboard/mouse/monitor for the Pi (saves space) and I'm very familiar with Visual Studio so don't have to learn anything about a.n.other IDE.
 

Online kripton2035

  • Super Contributor
  • ***
  • Posts: 2900
  • Country: fr
    • kripton2035 schematics repository
Re: GUI IDE for Linux
« Reply #19 on: August 12, 2017, 12:56:15 pm »
That does not make it "free", at best you could say there is a free demo.
for me it's really more than a demo.
 

Offline mjkuwp

  • Supporter
  • ****
  • Posts: 269
  • Country: us
  • mechanical engineering defector
    • The Mz Lab
Re: GUI IDE for Linux
« Reply #20 on: August 12, 2017, 02:21:12 pm »
Not totally easy (as the docs aren't great) but I had some success with Kivy Pi.

And you can use Pycharm as an IDE although not for graphically designing the GUI. You can even use pycharm remotely from the Pi but run/debug the code on the Pi as you develop.

Kivy provide a tool for developing GUIs using their framework I think but I've not tried it.

Tom

+1 for Kivy   - It is modern and nicely designed.

I've got almost the same scenario.  I had a machine for in-house testing at work and previously build a gui with Tkinter.  I didn't like that experience so the second machine I tried Kivy.  It took me 2 days to learn it (basics of course) which is actually really good, relatively speaking.

I also use Pycharm and have set the .kv files (text file that defines the gui) to be opened by Notepad++.

the end target is a Raspberry Pi 3 but I develop in both Linux Mint and Windows 7 and it is possible to run it in all 3.

One big negative is that the mouse support on Raspberry Pi is very poor but if you use a touchscreen with the Pi it probably will work just fine.
 

Offline hamdi.tnTopic starter

  • Frequent Contributor
  • **
  • Posts: 638
  • Country: tn
Re: GUI IDE for Linux
« Reply #21 on: August 21, 2017, 04:19:44 pm »
Thanks again for all your suggestions ... lazarus is just awesome, run on the pi a bit slow to compile but it run. so i did most of the work on ubuntu and then just moved the whole project to pi and recompile no problem at all.

Thanks a lot.  :-+ :-+ :-+
« Last Edit: August 21, 2017, 05:12:13 pm by hamdi.tn »
 

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 8492
  • Country: ro
Re: GUI IDE for Linux
« Reply #22 on: August 21, 2017, 05:02:50 pm »
Give it a try to node-red: https://nodered.org/

Free, open, it was originally made by IBM.
Definitely, the fastest and the easiest way to built either GUI, or an entire automation.
Works on any platform, locally or on the Internet.

You can make a dashboard in minutes, with zero lines of code, and that can interact with the hardware locally or from the Internet.







Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->