Any interest in writing gui library on top of qtruby?

M

meruby

wax is a gui written on top of wxPython. It allows seamless integration
of gui code in a pythonic way in python program. I am interested in
doing something similar with qtruby (qt4).
I hope some ruby pro has interest in it and are willing to take a lead
since I am just beginner in a ruby world. I am willing to code such a
library if there is somebody who wants to be my mentor and willing to
guide me and lift me whenever I fall.
- Samir
 
H

Hal Fulton

wax is a gui written on top of wxPython. It allows seamless integration
of gui code in a pythonic way in python program. I am interested in
doing something similar with qtruby (qt4).

It sounds like an interesting idea. Please explain more.

I don't know Python, wxWindows, or wax. Or Qt, for that matter.

When you say "a gui" do you mean a higher-level toolkit? Or
perhaps an IDE?

If the former -- can you give an example of what your toolkit
would do that qtruby would not?

How good is your Qt knowledge?

Sorry to have mnore questions than answers... :)


Cheers,
Hal
 
M

meruby

Hal,
Most of the gui toolkit in dynamic language has its origin in C or
C++. Because of its origin, its api are more static and less dynamic
(less pythonic or rubyish).
In python world, wxPython is an interface written on top of wxgtk
(C++). To make it more dynamic and pythonic api, wax (other one is
pythoncard) is written on top of it.
Visit http://zephyrfalcon.org/labs/dope_on_wax.html "Wax is a GUI
toolkit. It sits on top of wxPython, removing some of the low-level
aspects of that GUI, and adding some useful abstractions." Google
summer of code allow not one but two coders to work on wax to make it
better and improve documentation
http://zephyrfalcon.org/labs/wax_summer_of_code.html

Now sad part: I have some knowledge on qtruby and very little on Qt. I
haven't program in C or C++ for ages. In a way its blessing, since I
love to work in dynamic language, I can't stand working in static
language like C, C++, C#, Java and such. I can not give you specific
example about what I want to do with qtruby, because I have never
created any big program. My vision is to make qtruby easy enough that
end user don't have to think about another api for guil; if they know
ruby, they should be able to use qtruby without spending days to learn
its api.
 
H

Hal Fulton

Most of the gui toolkit in dynamic language has its origin in C or
C++. Because of its origin, its api are more static and less dynamic
(less pythonic or rubyish).

OK, good. I agree with you, just wanted to be sure I understood.
Now sad part: I have some knowledge on qtruby and very little on Qt.

Well, that makes it harder. :) I was hoping you were a Qt expert.
My vision is to make qtruby easy enough that
end user don't have to think about another api for guil; if they know
ruby, they should be able to use qtruby without spending days to learn
its api.

I strongly agree with this kind of goal. I once had an idea for an
"ezGTK" ("easy GTK") and someone implemented at least part of it.
Search the archives for more on that.

Let's talk further.


Thanks,
Hal
 
M

meruby

I am not qt expert, but I don't mind becoming qtruby expert. It's great
nice to talk with somebody who not only thinks but did something along
this lines. I will look at "ezGTK" and will discuss further.
 
R

Randy Kramer

Now sad part: I have some knowledge on qtruby and very little on Qt. I
haven't program in C or C++ for ages. In a way its blessing, since I
love to work in dynamic language, I can't stand working in static
language like C, C++, C#, Java and such. I can not give you specific
example about what I want to do with qtruby, because I have never
created any big program. My vision is to make qtruby easy enough that
end user don't have to think about another api for guil; if they know
ruby, they should be able to use qtruby without spending days to learn
its api.

I'm quite a newbie to Ruby (but interested in Qt and QtRuby)--all of that is
to say that I'm fairly certain I can't help in the effort--but I do applaud
the thought and want to encourage you.

regards,
Randy Kramer

PS: My particular interest at the moment is to get a web browser (khtml?) with
a "special" interface such that I can:
* send HTML to the web browser on something like stdin
* update the same instance of the web browser by sending new HTML via the
same route (stdin) (I don't want to "pull" content via the browser, I want to
"push" it to the browser by actions in another (Ruby?) program
* optionally get back (by a similar route, stdout from the browser to stdin
for my other program) the results of "filling in" any HTML form that *might*
be sent to the browser.

At least, that was my intent a few days ago, now considering some other
alternates (like trying to write one program with the features of an HTML
renderer, featureful text editor (capable of folding, macros, special
seaches, etc.), and a TWiki markup to HTML "filter").
 
S

Stefan Holst

hi,

created any big program. My vision is to make qtruby easy enough that
end user don't have to think about another api for guil; if they know
ruby, they should be able to use qtruby without spending days to learn
its api.

it would be great to have a generic api for gui toolkits like qt,
gtk/gnome, tk etc.. is anyone working on this?

most gui-apis for ruby are designed starting with the original api
and map this into ruby-space. so what about to design the other way
around. starting with ruby and all its features to create an easy,
dynamic and well documented api and then attach the toolkits as backends
to it. this has a lot of advantages:

- the api exploits the whole power of ruby and 'feels' like ruby
- this api could come with the official ruby releases
together with a small backend (tk?)
- the user only has to learn one easy api
- ...and can use the toolkit which fits best to his environment
(kde, gnome, windows, ...)
- each backend is only installed, if it's needed and can be
maintained seperately

i used ruby-gnome2 (and its gnome-canvas) a bit and would really
appreciate a cleaner and more generic api. i'll check out ezgtk,
maybe that's a start?

RY
Stefan
 
H

Hal Fulton

Stefan said:
i used ruby-gnome2 (and its gnome-canvas) a bit and would really
appreciate a cleaner and more generic api. i'll check out ezgtk,
maybe that's a start?

I can't remember who worked on it or how far the project went.
Let us know what you find out.


Hal
 
M

Martin DeMello

Stefan Holst said:
it would be great to have a generic api for gui toolkits like qt,
gtk/gnome, tk etc.. is anyone working on this?

I'm working on a thinlet [http://thinlet.sourceforge.net/] to gtk
converter - it should be fairly easy to extend to other toolkits. It's
underpowered compared to a full fledged GUI toolkit, but it makes it
easy to throw a quick GUI interface together.

martin
 
D

dave

I think you should talk with Richard Dale and help the qt-ruby project.

Scripting languages qt/kde bindings are based on perl smoke library,
this leads to some problems and limitations.

The best, but expensive, aptitude should be to write a c ext code to
interface qt lib.


You can ask also help to trolltech, i suppose they are interested.


--
here are more things in heaven and earth,
horatio, than are dreamt of in your philosophy.
 
M

Marek Kubica

Hello!

it would be great to have a generic api for gui toolkits like qt,
gtk/gnome, tk etc.. is anyone working on this?

There is something like this for Python - anygui. Well, it.. failed because
the toolkits are too different and it was way to much work.

greets,
Marek
 
R

Richard Dale

Hal,
Most of the gui toolkit in dynamic language has its origin in C or
C++. Because of its origin, its api are more static and less dynamic
(less pythonic or rubyish).
In python world, wxPython is an interface written on top of wxgtk
(C++). To make it more dynamic and pythonic api, wax (other one is
pythoncard) is written on top of it.
Visit http://zephyrfalcon.org/labs/dope_on_wax.html "Wax is a GUI
toolkit. It sits on top of wxPython, removing some of the low-level
aspects of that GUI, and adding some useful abstractions." Google
summer of code allow not one but two coders to work on wax to make it
better and improve documentation
http://zephyrfalcon.org/labs/wax_summer_of_code.html
I've just been reading about wax, and it seems to be about addressing the
problems that wxPython has being directly based on the wxWidgets api.

Quote from the wax docs:

"1. It's no longer necessary to make up IDs and pass them around. You just
create an object like you would expect:

b = Button(parent, "click me")

.... "

With QtRuby you don't need to 'make up IDs and pass them around', and you
create a button much as in the above code.
Now sad part: I have some knowledge on qtruby and very little on Qt. I
haven't program in C or C++ for ages. In a way its blessing, since I
love to work in dynamic language, I can't stand working in static
language like C, C++, C#, Java and such. I can not give you specific
example about what I want to do with qtruby, because I have never
created any big program. My vision is to make qtruby easy enough that
end user don't have to think about another api for guil; if they know
ruby, they should be able to use qtruby without spending days to learn
its api.
I certainly think QtRuby could be made easier to use. Possibly by
automatically translating the C++ documentation to ruby and RDOC format if
that was possible. Probably the ugliest and least ruby-like thing are
signals and slots, as they have C++ type signatures as strings. The way you
connect a signal to a block in ruby-gnome is nicer, and I would rather have
QtRuby work more like that.

There are already quite a few things that you can do in QtRuby that you
couldn't do in the original C++ api. Such as passing blocks to
constructors, using lower case/underscore method naming if preferred, or
setFoobar() methods can be called as foobar= in ruby and isFoobar() methods
called as foobar?.

-- Richard
 
M

meruby

When you try to create a gui which encompasses everything, you end up
with a gui with very little capacity. Hence I am thinking of going to
different route and concentrate only on one gui which in my case is
qtruby.
 
C

Christoffer Sawicki

Hello,
wax is a gui written on top of wxPython. It allows seamless integration
of gui code in a pythonic way in python program. I am interested in
doing something similar with qtruby (qt4).
I hope some ruby pro has interest in it and are willing to take a lead
since I am just beginner in a ruby world. I am willing to code such a
library if there is somebody who wants to be my mentor and willing to
guide me and lift me whenever I fall.

I'm very much interested in this too. I know Ruby pretty well and I've toyed
with Qt/KDE a bit. I think the best start would be to basically outline what
we want to achieve, in terms of functionality and API. I think the only sane
way to implement something of this kind is to build it on top of QtRuby.
QtRuby is already pretty easy to use, so the outline has to show that the
project is worth the effort.

I'll see what I can do,

*/ Christoffer Sawicki <[email protected]>
 
R

Reyn Vlietstra

I'm using qt ruby myself.

"Wax removes the low-level aspects of wxPython (which is basically a direct=
=20
binding to the ugly C API) and gives you simple python objects to create yo=
ur=20
GUI."

Sounds interesting, but I'v always liked the QT api.
What would you want to build ontop of qtruby ?
Could qtRuby get any friendlier ? :-o

Hello,
=20
=20
I'm very much interested in this too. I know Ruby pretty well and I've to= yed
with Qt/KDE a bit. I think the best start would be to basically outline w= hat
we want to achieve, in terms of functionality and API. I think the only s= ane
way to implement something of this kind is to build it on top of QtRuby.
QtRuby is already pretty easy to use, so the outline has to show that the
project is worth the effort.
=20
I'll see what I can do,
=20
*/ Christoffer Sawicki <[email protected]>
=20
=20


--=20
Reyn Vlietstra
 
R

Reyn Vlietstra

I'm using qt ruby myself.

"Wax removes the low-level aspects of wxPython (which is basically a direct=
=20
binding to the ugly C API) and gives you simple python objects to create yo=
ur=20
GUI."

Sounds interesting, but I'v always liked the QT api.
What would you want to build ontop of qtruby ?
Could qtRuby get any friendlier ? :-o

Hello,
=20
=20
I'm very much interested in this too. I know Ruby pretty well and I've to= yed
with Qt/KDE a bit. I think the best start would be to basically outline w= hat
we want to achieve, in terms of functionality and API. I think the only s= ane
way to implement something of this kind is to build it on top of QtRuby.
QtRuby is already pretty easy to use, so the outline has to show that the
project is worth the effort.
=20
I'll see what I can do,
=20
*/ Christoffer Sawicki <[email protected]>
=20
=20


--=20
Reyn Vlietstra
 
J

John-Mason P. Shackelford

An excellent place to start would be helping to get QtRuby runnning
against Qt 4.0 and on Windows. I suspect if QtRuby were easy to
configure on all platforms on which Ruby runs it would eventually
eclipse the other GUI frameworks available for Ruby.


John-Mason Shackelford

Software Developer
Pearson Educational Measurement

2510 North Dodge St.
Iowa City, IA 52245
ph. 319-354-9200x6214
(e-mail address removed)
http://pearsonedmeasurement.com
 
L

Lothar Scholz

Hello John-Mason,

JMP> I suspect if QtRuby were easy to
JMPS> configure on all platforms on which Ruby runs it would eventually
JMPS> eclipse the other GUI frameworks available for Ruby.

QT is quite expensive (US$ 6000 + US$ 2000 yearly mantainance) so
don't expect it to be so widely used. In fact i love to see a much
better WxWidgets port, instead of QT.
 
D

dave

--nextPart2137513.CipCBFGXRj
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

QT is quite expensive (US$ 6000 + US$ 2000 yearly mantainance)
http://www.trolltech.com/products/qt/pricing.html

It's quite expensive but you can use the free o.s. license.



=2D-=20
here are more things in heaven and earth,
horatio, than are dreamt of in your philosophy.

--nextPart2137513.CipCBFGXRj
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iQIVAwUAQu2gLKNg16HTgg0AAQL8zxAArSAsttbHgZrtoAyzf8Uwwb22lqg934WZ
QNBDQnBuUqxJVjjb4z/pmvuibpCV0sjuG4+TgB9GVvBEYQtbNOKr6LEyP0j9SIaE
WNnie6W4iwThEeKOFoBbl0NYmKHGIei9YGCgt2Wk0dtnsHYX6UvPbOI25zIFTPWi
kJjo39BP0NUb6fRx+OvZpH7qzVWXIlp259Z53XGm4c8UQpAko5u+AU1xFWFv+i8o
+Isd4BLsM4+9EoyAKna6cL95lhTnsDabU5OIm70p93saNeim3HCoYyBJlpon/jo6
2nPEOPmTIbk0VqerD5jilCICDTtZ6an+RFiSUw8WaKBxl1TZ7db0JbVPdUdzAcQx
M35WqqN+LN6WAVmgLuwEFudcvJn3rmbgIAmdN0v5yRnxFGTTS9zrw6NDamh3cTPu
+5d5O+Y/wHn+uLzrxU0kjCoGaIoaS9cbLIjClqSSxs0B5yBYtwrX6xFZ0qfeCJAs
KO+jJgBvbS31+hcKrT+LyMLaZhbKduGipR1OFYL49pW8jgDK6Vi+5RRlHIto8QsM
+V/6SUm+zpJQavuDvr2PiYhB9teE0Jx/pWwodQNXbrQFOkjK0pswu1q3KxG/v211
ZyooAFEbBFuOtYH9d9gTlVcv0Nop+D1vsHZ9vtbQ8RnDPzIW13IgWxivcycwz+ZH
xWwhQjp9wa8=
=yDeO
-----END PGP SIGNATURE-----

--nextPart2137513.CipCBFGXRj--
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top