I wish there was a like button to the email thread. Two thumps up, even do I love Perl and I think it is r34dabl3. :)
On Wed, Jul 18, 2012 at 3:28 PM, Gilboa Davara <gilb...@gmail.com> wrote: > On Wed, Jul 18, 2012 at 11:50 AM, Oleg Goldshmidt <p...@goldshmidt.org> wrote: >> >> Hi, >> >> I have no - literally zero - experience in creating GUIs of any kind. I >> face the following task now: there is a C++ program that runs on Linux and >> basically receives some packets with some data over the network and does >> some transformations on the data. As a result some data structures are >> created and updated - potentially many times a second, say, a few times a >> second for any *single piece* of data. I need a *prototype* GUI that would >> display and constantly update (parts of) those structures, say strings and >> numbers with colours and labels and stuff. There may be a need for a >> drop-down menu for some configuration - don't know yet. Eventually maybe a >> button or two will be added to invoke some actions. >> >> I figure that the simplest way about it would be to make the GUI run on >> the same Linux machine and write it in C++ for ease of integration. What >> would be the easiest / simplest framework to use? Is it Qt? Ultimate++ >> (http://www.ultimatepp.org/ - just one of the things I found in a simple and >> brief search)? Since I have no experience it's difficult for me to judge >> quickly. >> >> What is important here is speed and painless ramp-up to some fairly low >> level. I want to be up and running as fast as possible with as little coding >> as possible. No need for bells and whistles. No need for long term >> maintenance. It is for a throw away demo/prototype - and yes, I am sure it >> (the GUI part) will be thrown away. >> >> Any suggestions / experiences / war stories / whatever? >> >> Thanks in advance, > > (Sorry for the long post, I'm writing a very boring code and feel a bit > chatty) > > This might not be the suggesting you're looking for, but hear me out. > > I write in-kernel C-based DPI software for a living and as such, I > rather dislike C++ and the only GUIs I wrote in the past ~15 years are > bash scripts that used xdialog and zenity. > > Long story short (?), we needed a fairly complex GUI to display the > output of our system, and needed to do it within ~3 weeks (the life of > a startup...) - as I was the only one with some free time, the job > landed on my shoulders. > Tried Qt, two hours later the police managed to persuade me to get off > the roof. pass. > (In Qt's defense, I usually start scratching when I see too many > templates in one header file; If you're a OO-happy developer YMMV). > Tried GTK, felt like re-learning Win32 GDI all over ago, 14 days left, pass. > Tried a couple of other options (Tk, etc), but nothing really stuck. > > Tick tock, tick tock, I could hear the clock. > > Did some reading and saw a suggestion about Python / PyGTK combo (GTK > over Python). > Now, I never wrote a single line of Python in my life, but having > depleted most of the logical options (Raw X11 is not really an > option), I decided to give it a try and... ZING! I liked it. I mean, > really liked it. > Python is midway between C and C++ and uses the more-or-less the logic > and code structure, so I simply dove in. The code itself is very > readable (Yep, Pearl, I'm looking at you!), so coding by examples is > as strait forward as it gets. > Per GUI, the PyGTK API is simple and logical, and the documentation is > fairly good (somewhat less if you decide to use PyGI as I did once I > got going). > Tools are not really needed (I used vim, what else?), though you may > want to give glade a try when you build the initial GUI skeleton. > > In ~3 weeks we had a fairly complex multi-threaded GUI with a binary > data conversion, grids, views, tabs, attachments and multimedia > support (courtesy of pygtkwebkit and its gstreamer plugins) and as a > added bonus, the performance is quite good (far better than, err, > Java) and we even managed to add a nice animated splash screen :) > > Now, I wish I could take credit for being an excellent GUI programmer > (I could, but I'm not really into getting struck by a lightning). > The credit goes to Python and PyGTK (or actually, PyGI) > > In short (.......), unless you have a good reason to use C++ or C for > this GUI, I'd give PyGTK a chance. You won't be disappointed. > > - Gilboa "I wish someone could mmap me to the Bahamas" Davara > > _______________________________________________ > Linux-il mailing list > Linux-il@cs.huji.ac.il > http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il _______________________________________________ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il