GUI IDE for Linux - Page 1
Forum section: electronics / projects

author: hamdi.tn
author_rank: Frequent Contributor
timestamp: August 11, 2017, 02:33:44 pm
content: 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 ...

author: mrjiffy6
author_rank: Contributor
timestamp: August 11, 2017, 02:44:55 pm
content: 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.

author: mrjiffy6
author_rank: Contributor
timestamp: August 11, 2017, 02:54:43 pm
content: 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.

author: tombi
author_rank: Regular Contributor
timestamp: August 11, 2017, 03:00:51 pm
content: 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

author: jiro
author_rank: Contributor
timestamp: August 11, 2017, 03:06:23 pm
content: There are a few alternatives, asmrjiffy6you could use QtCreator or Glade then glue your code, also you can use something likeLazarusif you are familiar wih Delphi you're gonna love it, just take a look to thescreenshotsand 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.

author: mrjiffy6
author_rank: Contributor
timestamp: August 11, 2017, 03:23:41 pm
content: 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

author: igendel
author_rank: Frequent Contributor
timestamp: August 11, 2017, 03:27:11 pm
content: 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...]

author: TomS_
author_rank: Frequent Contributor
timestamp: August 11, 2017, 03:47:00 pm
content: 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.

author: bd139
author_rank: Super Contributor
timestamp: August 11, 2017, 03:58:16 pm
content: 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

author: mrjiffy6
author_rank: Contributor
timestamp: August 11, 2017, 04:05:09 pm
content: Quote from: TomS_ on August 11, 2017, 03:47:00 pmAre 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! 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!

author: HoracioDos
author_rank: Frequent Contributor
timestamp: August 11, 2017, 06:26:17 pm
content: 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 WebIDEI 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

author: jmelson
author_rank: Super Contributor
timestamp: August 11, 2017, 07:20:35 pm
content: 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

author: kripton2035
author_rank: Super Contributor
timestamp: August 11, 2017, 08:29:22 pm
content: take a look at Xojo :http://www.xojo.com/index.phpdevelop 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.

author: Kjelt
author_rank: Super Contributor
timestamp: August 11, 2017, 09:03:51 pm
content: Quote from: kripton2035 on August 11, 2017, 08:29:22 pmWhat do you mean free to use when you have to pay if you want to compile?

author: hamdi.tn
author_rank: Frequent Contributor
timestamp: August 12, 2017, 12:00:04 am
content: Thank you all for you your helpQuote from: jiro on August 11, 2017, 03:06:23 pmQuote from: igendel on August 11, 2017, 03:27:11 pmWell ... 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 thisQuote from: jmelson on August 11, 2017, 07:20:35 pmI 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

author: Fredderic
author_rank: Regular Contributor
timestamp: August 12, 2017, 07:15:29 am
content: I've just recently gotten back into GUI's myself, after a 20 year lull. Back then, it wasLinuxwithGTK2,GTK3andGladewere 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,PythonandTkinter... Well, that was a horrendous experience. ThePython->TCL->TKhop-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 loveTCL, it's a fantastic language, I was very deeply into it back in Uni, getting into the guts of the language. ButTK... While it kind of works inTCL, it's frustrating as heck inPython. Take for example, checking to see if a tree item is hidden, it returns a'0'. Not the number, it returns it as astring. If you forget to explicitly cast it to anint, you getTrue(inTCL, it's a number with a string representation, and it'll use it as a number in any numeric context, but when translating it toPython, you just get the string rep). As for the otherPythonGUI options, both myself and my friend are presently inWindowsand, well, getting any of them to actually install cleanly was... problematic. And ifIhad trouble getting those toolkits to install...So I started looking for better options. And I came across one I think well worth mentioning.GtkD.Dreallyisa betterC/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 ofC#, without feeling like the proverbial "everything and the kitchen sink" that's all too common withMicrosoftfrankencreations. And paired withGtkD(which has a few minor gaps still, but nothing serious) bringing with itGTK3/Glade, has been a comparative delight to work in. I did missGTK, but I didn't missC(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 usingDgui, I'm pretty sure it would be far more effective, rather thanGTKthrough a layer ofDwrappers (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 withVisual Studio— which I'm not using (gvimis 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 atDguiagain later, because I'm sticking withDfor my personal projects now, butGtkDwas the easiest option to get going in again; partly due to my prior familiarity toGTK, and I just had to give my friend theGTK3runtime installer, along with my compiled binary (a shared Dropbox folder works wonders), and they were good to go.

author: kripton2035
author_rank: Super Contributor
timestamp: August 12, 2017, 09:29:50 am
content: Quote from: Kjelt onYesterdayat 23:03:51What 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.

author: BBBbbb
author_rank: Unknown
timestamp: August 12, 2017, 10:04:31 am
content: That does not make it "free", at best you could say there is a free demo.

author: Avacee
author_rank: Unknown
timestamp: August 12, 2017, 10:20:52 am
content: 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.

author: kripton2035
author_rank: Super Contributor
timestamp: August 12, 2017, 12:56:15 pm
content: Quote from: BBBbbb on August 12, 2017, 10:04:31 amfor me it's really more than a demo.

author: mjkuwp
author_rank: Unknown
timestamp: August 12, 2017, 02:21:12 pm
content: Quote from: tombi on August 11, 2017, 03:00:51 pm+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.

author: hamdi.tn
author_rank: Frequent Contributor
timestamp: August 21, 2017, 04:19:44 pm
content: 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.

author: RoGeorge
author_rank: Super Contributor
timestamp: August 21, 2017, 05:02:50 pm
content: 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.