From: Stefano Crocco Date: 2008-01-16T05:59:25+09:00 Subject: Re: Problem with StringList object in Ruby/Qt4 Alle marted́ 15 gennaio 2008, Rosalind Mitchell ha scritto: > I'm experimenting with building Ruby applications with Qt4 GUI interfaces. > > While most of it is going easily - I like using Qt4 more than most GUI > tools - I seem to have run into a problem with Qt::StringList objects. > > I can reduce this to a bare minimum script that produces the exception: > > ----------------------------------------------------------------------- > #!/usr/bin/ruby -wKU > > require 'Qt4' > > class ListForm < Qt::Widget > def initialize > super() > > model = Qt::StringListModel.new() > list = Qt::StringList.new() > > end > end > > app = Qt::Application.new(ARGV) > > test_form = ListForm.new() > test_form.show() > > app.exec() > ----------------------------------------------------------------------- > > When I run this, the output is: > > $ ruby slist.rb > slist.rb:10:in `const_missing': uninitialized constant Qt::StringList > (NameError) > from slist.rb:10:in `initialize' > from slist.rb:19:in `new' > from slist.rb:19 > ----------------------------------------------------------------------- > > I'm sure I'm missing something simple here, I just can't see what. Any > thoughts? > > Oh yes: Ruby 1.8.6 / Qt 4.3 / Ubuntu 7.10 > > Rosie I think this happens because QtRuby uses ruby lists instead of most (if not all) of the Qt containers. Try doing list = [] instead of list = Qt::StringList.new() Stefano