Beschreibung

Das Qt-Framework von Trolltech ermöglicht das Erstellen von plattformübergreifend lauffähigen Anwendungen. Mittels entsprechender Bindings ist es möglich, diese auch aus Ruby heraus zu nutzen. Im Gegensatz zu dem für Ruby ebenfalls populären GTK-Toolkit zeichnen QT-Anwendungen ihre GUI nicht mit X11 und nutzen auf allen unterstützten Plattformen -- also auch Mac OS X -- die nativen Darstellungselemente.

Installation

Zu beachten ist, daß eventuell vorhandene Paketmanager möglicherweise eigene Versionen der im folgenden verwendeten Tools installiert haben. Um zu verhindern, daß ein Teil der Installationsschritte die systemeigenen Werkzeuge benutzt und ein anderer die alternativen Versionen derselben, empfiehlt sich, diese vor Beginn zu deaktivieren, z.B. durch entsprechendes Setzen des Pfades oder Deinstallation.

Als erstes muß Qt selbst installiert werden. Dazu sollte unter http://trolltech.com/developer/downloads/qt/mac der .dmg-Installer heruntergeladen werden, mit dem eine schnelle und unkomplizierte Installation von Qt unter Mac OS X erfolgt.

Vorbereitend für den nächsten Schritt muß nun das Tool cmake installiert werden. Es ist unter http://www.cmake.org/ verfügbar. Hier sollte unter Downloads der Unix/Linux-Source geladen werden. Hat man diesen ausgepackt, öffnet man ein Terminalfenster, navigiert in den durch das Entpacken erstellten Ordner und führt nacheinander diese Befehle aus:

./bootstrap
make
sudo make install

Nun müssen nur noch die Ruby Bindings für Qt geladen und installiert werden. Diese sind als qt4-qtruby auf http://rubyforge.org/frs/?group_id=181&release_id=12479 verfügbar. Auch hier gilt es, den Sourcecode herunterzuladen und zu entpacken. Zumindest bei qt4-ruby-1.4.9 sind allerdings nicht alle im Archiv enthaltenen Dateien auf dem neuesten Stand. Deswegen müssen die beiden Dateien "kalyptus" und "kalyptusCxxToSmoke.pm" im "kalyptus"-Ordner von qt4-qtruby durch neuere Versionen ersetzt werden, die hier erhältlich sind.

Im qt4-qtruby-Ordner führt man nun über das Terminal die Befehle

cmake .
make
aus. Letzterer wird dabei bald mit einer Fehlermeldung abbrechen, die auf ein nicht vorhandenes Headerfile hinweist. Um dies zu beheben kommentiere man schlicht die entsprechende Zeile in der bei der Fehlermeldung genannten Datei aus. Danach sollte sich mit
make
sudo make install
die Installation der Bindings erfolgreich abschließen lassen.

Es handelt sich hierbei um die Datei "ruby/qtruby/src/handlers.cpp". Folgende Zeilen sind auszukommentieren:

// DEF_VALUELIST_MARSHALLER( QWebHistoryItemList, QList<QWebHistoryItem>, QWebHistoryItem )
...
// << { "QList<QWebHistoryItem>", marshall_QWebHistoryItemList },

Daß die Installation erfolgreich war, läßt sich mit einem kleinen Script wie

require 'Qt'

app = Qt::Application.new(ARGV)

hello = Qt::PushButton.new('Hello World!')
hello.resize(100, 30)
hello.show()

app.exec()
überprüfen, das nun mittels des ruby-Kommandos im Terminal oder z.B. aus TextMate heraus ausfühbar sein sollte.

Zu beachten gilt, daß ältere Tutorials teilweise noch Qt mittels require 'Qt4' einbinden. Bei aktuellen Versionen der Bindings sollte statt dessen 'Qt' eingebunden werden.

Sollte dies zu dem Fehler "LoadError: no such file to load -- qtruby4" führen, so muss man im Verzeichnis "/Library/Ruby/Site/1.8/universal-darwin9.0" die Datei "qtruby4.so" in "qtruby4.bundle" umbenennen (bei qt4-qtruby-1.4.10)

Zum Erstellen dieser Anleitung wurden die Versionen Mac OS X 10.5.2, Qt/Mac 4.3.4, cmake 2.4.8 und qt4-qtruby-1.4.9 verwendet.

Literatur

Verweise

Siehe auch
Ruby
Kategorien
Softwareentwicklung, Tutorials

Zuletzt geändert am 04.01.2009 16:18 Uhr von Heiko Thimm ( Besuche)

© 2004 – 2024 ApfelWiki

Impressum - Datenschutz

cb