# Ruby GUI recommendations?

**URL:** <https://www.ruby-forum.com/t/ruby-gui-recommendations/50028>\
**Category:** Ruby\
**Created:** [December 12, 2005, 12:29pm UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028 "2005-12-12T12:29:21Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 12, 2005, 12:29pm UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/1 "2005-12-12T12:29:21Z")

</div>

Which GUI lib is the best and which is the most widely used ?  
(Necessarily not the same 🙂 )  
I’m using Win XP.

I’ve tried wxRuby so far, but would like to get some overview what’s  
available before deciding where to put the efforts.

I would prefer a good minimal OO API, with documentation.

Christer

---

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 12, 2005, 1:11pm UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/2 "2005-12-12T13:11:16Z")

</div>

On 12/12/05, Christer N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Which GUI lib is the best and which is the most widely used ?  
> (Necessarily not the same 🙂 )  
> I’m using Win XP.
> 
> I’ve tried wxRuby so far, but would like to get some overview what’s  
> available before deciding where to put the efforts.
> 
> I would prefer a good minimal OO API, with documentation.

Depending on your needs, a RubyOnRails application packaged up as an  
.exe may be your best bet.

That’s the way I’d go (if possible).

---

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 12, 2005, 1:14pm UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/3 "2005-12-12T13:14:17Z")

</div>

On Monday 12 December 2005 08:29 pm, Christer N. wrote:

> Which GUI lib is the best and which is the most widely used ?  
> (Necessarily not the same 🙂 )  
> I’m using Win XP.
> 
> I’ve tried wxRuby so far, but would like to get some overview what’s  
> available before deciding where to put the efforts.
> 
> I would prefer a good minimal OO API, with documentation.
> 
> Christer

Here are comparisons between available toolkits.

–ruby-gtk2  
The most complete and stable toolkit you’ll find with the better ruby  
bindings  
UTF8 support  
API finished  
very complete documentation  
works on windows, unix, and mac  
GUI designer available, Glade2 (link below shows link to glade for  
windows)  
[http://ruby-gnome2.sourceforge.jp/hiki.cgi?Install+Guide+for+Windows](http://ruby-gnome2.sourceforge.jp/hiki.cgi?Install+Guide+for+Windows)

–qtruby  
works very well, stable API, complete…  
unfortunately qtruby/4 is not on windows yet.  
UTF8 support  
very complete documentation  
GUI designer available, qt designer  
Native widgets on each platform  
no windows install doc

–wxruby2  
bindings not complete to ruby, missing classes and methods  
works if you want to use just the basic widgets  
UTF8 support however  
Native widgets on each platform

–fxruby  
well… ☹ Its a okay toolkit if you use what fxruby stable is  
lacks UTF8 support  
the API is not stable, things change often. not fxruby’s fault, its a  
FOX  
toolkit development problem.  
draws its own widgets  
fox doesn’t contain all the widgets other toolkits have like gtk

–tk  
very complete, comlplete APIs, everything  
bindings are included with ruby, but I don’t think the curt’s ruby  
installer  
has the tk runtime.

You might want to consider ruby-gtk2, its pretty straight forward and  
simple.  
qtruby/4 is almost there.

Tsume

---

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 12, 2005, 5:09pm UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/4 "2005-12-12T17:09:45Z")

</div>

removed\_email\_address@domain.invalid wrote:

> > Christer  
> > [http://ruby-gnome2.sourceforge.jp/hiki.cgi?Install+Guide+for+Windows](http://ruby-gnome2.sourceforge.jp/hiki.cgi?Install+Guide+for+Windows)  
> > –wxruby2  
> > draws its own widgets
> 
> Tsume

this guy likes gtk2 too (in French)  
[http://www.bawet.org/article.php3?id\_article=60](http://www.bawet.org/article.php3?id_article=60)

---

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 13, 2005, 10:21am UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/5 "2005-12-13T10:21:44Z")

</div>

> removed\_email\_address@domain.invalid wrote:
> 
> > –ruby-gtk2  
> > –qtruby  
> > –wxruby2  
> > –fxruby  
> > –tk

What are people’s experience with packaging applications made with  
these toolkits using Rubyscript2exe? I’ve done so with wxruby, so I  
know that works, how about the others, is it easy to get the required  
files included so the client doesn’t have to install the toolkit  
before running the application?

---

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 13, 2005, 5:32pm UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/6 "2005-12-13T17:32:47Z")

</div>

tk works as well, though i think tk works in a somewhat silly way…

2005/12/13, Terje T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 13, 2005, 8:12pm UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/7 "2005-12-13T20:12:49Z")

</div>

> > > > –ruby-gtk2

> > What are people’s experience with packaging applications made with  
> > these toolkits using Rubyscript2exe?

i just spent the last few hours trying this out. the install was  
relatively painless. i was suprised at how easy it was to get gui code  
up and running.

rubyscript2exe created the exe, but an end user would need gtk  
installed. i wasn’t able to figure out all the dll’s what would need  
to be distributed with an app or even if that’s possible…i’m  
guessing that’s why the gaim installer fires up the gtk installer 🙂

it would be nice if there was an ‘allinone’ gtk.dll that you could  
distribute with ruby-gtk2 apps…

and debugging with arachnoruby worked as smoothly as i thought it would

i like it enough to stick with it…

---

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 13, 2005, 10:13pm UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/8 "2005-12-13T22:13:49Z")

</div>

> rubyscript2exe created the exe, but an end user would need  
> gtk installed. i wasn’t able to figure out all the dll’s what  
> would need to be distributed with an app or even if that’s  
> possible…i’m guessing that’s why the gaim installer fires  
> up the gtk installer 🙂

A quick guess of the required DLL’s, by analyzing the contents  
of ruby-gtk2-0.14.1-1-i386-msvcrt-1.zip:

$ strings $(find -name ‘\*.so’) | grep -wie dll | sort | uniq  
intl.dll  
KERNEL32.dll  
libatk-1.0-0.dll  
libcairo-2.dll  
libgdkglext-win32-1.0-0.dll  
libgdk\_pixbuf-2.0-0.dll  
libgdk-win32-2.0-0.dll  
libglade-2.0-0.dll  
libglib-2.0-0.dll  
libgmodule-2.0-0.dll  
libgobject-2.0-0.dll  
libgtkglext-win32-1.0-0.dll  
libgtk-win32-2.0-0.dll  
libpango-1.0-0.dll  
libpangocairo-1.0-0.dll  
MSVCR71.dll  
msvcrt.dll  
msvcrt-ruby18.dll

Skip the (default) Windows DLLS’s and you end up with this:

RUBYSCRIPT2EXE\_DLLS = []  
RUBYSCRIPT2EXE\_DLLS \<\< “libatk-1.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libcairo-2.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libgdkglext-win32-1.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libgdk\_pixbuf-2.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libgdk-win32-2.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libglade-2.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libglib-2.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libgmodule-2.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libgobject-2.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libgtkglext-win32-1.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libgtk-win32-2.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libpango-1.0-0.dll”  
RUBYSCRIPT2EXE\_DLLS \<\< “libpangocairo-1.0-0.dll”

I can’t test it…

gegroet,  
Erik V. - [http://www.erikveen.dds.nl/](http://www.erikveen.dds.nl/)

---

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 14, 2005, 12:45am UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/9 "2005-12-14T00:45:19Z")

</div>

Erik V. wrote on 12/13/2005 4:12 PM:

> Skip the (default) Windows DLLS’s and you end up with this:

and add: libgtjread-2.0-…dll  
libfontconfig-1.0.dll  
xmlparse.dll  
xmltok.dll  
libfreetype-6.dll  
libpng13.dll  
libpangowin32-1.0-0.dll

and then i get a:

Pango-ERROR \*\*:file …/…/…/pango/pango/shape.c: line 75  
(pango\_shape): assertion failed: (glyphs-\>num\_glyphs\>0) aborting…

which was when i posted my message 🙂

---

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 15, 2005, 9:59pm UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/10 "2005-12-15T21:59:45Z")

</div>

> Pango-ERROR \*\*:file …/…/…/pango/pango/shape.c: line 75  
> (pango\_shape): assertion failed: (glyphs-\> num\_glyphs\> 0)  
> aborting…

It obviously needs more than just the DLL’s. For TK, I included  
a lot more than just the DLL’s, and it works. We could do the  
same with GTK.

I’ll investigate it. I have no experience with Ruby-GTK, so I  
might need some help. I’ll shout…

gegroet,  
Erik V. - [http://www.erikveen.dds.nl/](http://www.erikveen.dds.nl/)

---

<div class="post-metadata">

**Author:** ![christer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@christer](https://www.ruby-forum.com/u/christer)\
**Post date:** [December 16, 2005, 2:26pm UTC](https://www.ruby-forum.com/t/ruby-gui-recommendations/50028/11 "2005-12-16T14:26:25Z")

</div>

Erik V. wrote on 12/15/2005 3:57 PM:

> It obviously needs more than just the DLL’s. For TK, I included  
> a lot more than just the DLL’s,

yeah, with tk you’d probably need the package info, etc.

> and it works. We could do the  
> same with GTK.

> I’ll investigate it. I have no experience with Ruby-GTK, so I  
> might need some help. I’ll shout…

i’ve been doing trial and error but no luck so far…
