# Using qt ruby

**URL:** <https://www.ruby-forum.com/t/using-qt-ruby/140779>\
**Category:** Ruby\
**Created:** [June 18, 2008, 2:00pm UTC](https://www.ruby-forum.com/t/using-qt-ruby/140779 "2008-06-18T14:00:31Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 18, 2008, 2:00pm UTC](https://www.ruby-forum.com/t/using-qt-ruby/140779/1 "2008-06-18T14:00:31Z")

</div>

I’m not particularly new to ruby or QT but I’m having trouble getting  
the two to work nicely together.

I have a TextEdit and I’m trying to call setExtraSelections on it.  
when I use the getter I get the error:

“Cannot handle ‘QListQTextEdit::ExtraSelection’ as return-type of  
QTextEdit::extraSelections (ArgumentError)”

And likewise with the setter:

“Cannot handle ‘const QListQTextEdit::ExtraSelection&’ as argument  
of QTextEdit::setExtraSelections”

So how do you deal with Qlists in ruby?

Also a few more general questions, please feel free to point me  
somewhere with answers like these but I searched long and hard and  
couldn’t find any.

Is there an API reference somewhere with rubyized method lists etc?  
For instance it took alot of reading and searching to find out the qts  
ExtraSelection class should be an OpenStruct.

Any there any more gotchas like the qlist above and how enums are  
passed as ints?

Any good documentation anywhere, what I could find online was very  
lacking and alot of google searches just turn up change logs.

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 18, 2008, 2:15pm UTC](https://www.ruby-forum.com/t/using-qt-ruby/140779/2 "2008-06-18T14:15:03Z")

</div>

On Wednesday 18 June 2008, removed\_email\_address@domain.invalid wrote:

> Is there an API reference somewhere with rubyized method lists etc?  
> For instance it took alot of reading and searching to find out the qts  
> ExtraSelection class should be an OpenStruct.
> 
> Any there any more gotchas like the qlist above and how enums are  
> passed as ints?
> 
> Any good documentation anywhere, what I could find online was very  
> lacking and alot of google searches just turn up change logs.

Which version of QtRuby are you using? I’m using an old version from  
KDE4 svn  
(I think it’s more or less a month old) and I can create a new  
ExtraSelection,  
but my test application crashes when I try to call  
Qt::TextEditor.set\_extra\_selections. At any rate, I suggest you to post  
this  
questions on the Qt/Korundum forum  
([http://rubyforge.org/forum/forum.php?forum\_id=723](http://rubyforge.org/forum/forum.php?forum_id=723)).

As for the documentation, I think you’re right, there’s not much  
information  
about differences between QtRuby and C++ Qt. Yet, there aren’t that many  
differences (at least in my opinion).

By the way, I don’t think ExtraSelection s should be OpenStruct s. At  
least in  
the version I use, they’re instances of Qt::TextEditor::ExtraSelection,  
just  
as in C++. And as far as lists are concerned, I think they’re always  
treated  
as ruby Array s.

I hope this helps

Stefano

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 18, 2008, 6:41pm UTC](https://www.ruby-forum.com/t/using-qt-ruby/140779/3 "2008-06-18T18:41:01Z")

</div>

On Jun 18, 1:12 pm, Stefano C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > "Cannot handle ‘QListQTextEdit::ExtraSelection’ as return-type of  
> > somewhere with answers like these but I searched long and hard and  
> > lacking and alot of google searches just turn up change logs.  
> > differences (at least in my opinion).
> 
> By the way, I don’t think ExtraSelection s should be OpenStruct s. At least in  
> the version I use, they’re instances of Qt::TextEditor::ExtraSelection, just  
> as in C++. And as far as lists are concerned, I think they’re always treated  
> as ruby Array s.
> 
> I hope this helps
> 
> Stefano  
> I changed ExtraSelection to a Ruby Struct for the QtRuby 1.4.10  
> release, but the QList marshaller for it doesn’t work. So I’ve just  
> made it an ordinary QtRuby class again in the svn, and added a  
> marshaller that works. So it will be fixed in the next release of  
> QtRuby.

I’m hoping to add some docs about QtRuby on the KDE TechBase wiki in  
the next month or two, as details about the Qt4 version are a bit  
lacking online I’m afraid.

– Richard

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 19, 2008, 1:00pm UTC](https://www.ruby-forum.com/t/using-qt-ruby/140779/4 "2008-06-19T13:00:56Z")

</div>

On Jun 19, 2:38 am, “removed\_email\_address@domain.invalid”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > > "Cannot handle ‘QListQTextEdit::ExtraSelection’ as return-type of  
> > > somewhere with answers like these but I searched long and hard and  
> > > lacking and alot of google searches just turn up change logs.  
> > > differences (at least in my opinion).  
> > > I changed ExtraSelection to a Ruby Struct for the QtRuby 1.4.10  
> > > release, but the QList marshaller for it doesn’t work. So I’ve just  
> > > made it an ordinary QtRuby class again in the svn, and added a  
> > > marshaller that works. So it will be fixed in the next release of  
> > > QtRuby.
> 
> I’m hoping to add some docs about QtRuby on the KDE TechBase wiki in  
> the next month or two, as details about the Qt4 version are a bit  
> lacking online I’m afraid.
> 
> – Richard

THanks.

So theres no marshaller that works in 1.4.9?

with a bit of trial and error I found the method was an accesor called  
extra\_selections.
