[Kde-bindings] Re: custom qt derived c++ class example for qtruby
Alexander Duda
Alexander.Duda at dfki.de
Wed Dec 22 18:12:11 UTC 2010
Am 22.12.2010 um 18:06 schrieb Alex:
>> You still need to create a ruby extension to tell QtRuby to actually load that
>> additional Smoke library. That's fairly easy, just look at some of the simple
>> extensions in the QtRuby source (Phonon for example). If you have more
>> questions, don't hesitate to ask! :)
>
> I don't seem to see phonon in the qt ruby source. I'm using the gem
> 'qtbindings' but referencing the source qt4-qtruby-2.1.0 to try to
> find examples. I don't even see a download for phonon on the phonon
> page..
An other way to get access to your qt derived c++ class is using slots and the qt plugin loader (see example below or http://doc.qt.nokia.com/stable/qpluginloader.html). After loading the plugin you have full access to all slots of your class on the ruby side without the need of user specific bindings.
def load_widget_factory(path)
loader = Qt::PluginLoader.new(path)
loader.load
if !loader.isLoaded
puts "Cannot load #{path}. Last error is: #{loader.errorString}"
return nil
end
factory_instance = loader.instance
if factory_instance == nil
puts "Could not load widget plugin #{loader.fileName}. Last error is: #{loader.errorString}"
return nil
end
factory_instance
end
Alex D.
More information about the Kde-bindings
mailing list