Irrationales Programmieren mit QML
Ich habe Qt5 auf dem Raspberry Pi 2 kompiliert und installiert. Das war zwar ein bisschen umständlich, lief bis jetzt eigentlich ohne unüberwindbare Probleme.
Aber jetzt hol' ich gleich die Kettensäge und geb' dem Drecksteil den Rest!
Den Code des Küchencomputers portiere ich derzeit auf Qt5 und QtQuick 2.4 und mache ihn unabhängig von Plattform und Auflösung.
Er läuft inzwischen gleichermaßen problemlos auf Windows 7 wie auf Debian Wheezy mit LXDE.
Nur auf dem Raspberry nicht. Da werden manche Texte nicht angezeigt und das Layout ist verschoben.
Und QML wirft mir unzählige Fehlermeldungen entgegen - allen gemein ist, dass sie mit string-Properties zu tun haben.
Also habe ich in den letzten Stunden ein Minimalprojekt angelegt um das Problem nachzustellen, einzukreisen und dann eine passende Lösung zu entwickeln.
So was kostet Zeit, funktioniert aber immer.
Nur hier nicht. Dieser Mistcode bringt mich noch um den Verstand:
import QtQuick 2.4
import QtQuick.Window 2.2
Window {
id: myWindow
width: 400
height: 200
visible: true
Text {
id: myText
text: "12"
}
Text {
x: 30
text: myText.text
Component.onCompleted: {
myText.text = "99"
}
}
}
Das funktioniert genau so, wie es soll.
Wenn man aber "99"
durch "34"
ersetzt, bleibt der zweite Text leer und QML meldet
Unable to assign [undefined] to QStringin der Zeile
text: myText.text
.
Allerdings nur auf dem Raspberry. Unter Windows und einem x86-Linux macht es, was es soll.
Was zur Hölle soll das?
Warum gerade "34"
??
Warum nicht z.B. "42"
???
Nerv! Ich spiele schon mit dem Gedanken wieder zurück auf Qt4.8 zu portieren ...
Nerdkuchen

+

+
ein unbeaufsichtigter Schokokuchen
=

SD-Karte aus virtueller Maschine auslesen
Ich hatte hier gerade das Problem, die Partitionen einer SD-Karte für den Raspberry Pi auslesen zu wollen, hatte aber kein natives Linux zur Hand, sondern nur ein Windows-Notebook.
Windows erkennt die verschiedenen Linux-Partitionen leider nicht und zeigt bestenfalls die Boot-Partition der Raspberry-Karte an. Glücklicherweise hatte ich hier aber noch ein Debian in einer VirtualBox. Die Idee war also, aus der VM auf die SD-Karte des Windows-Hostsystems zuzugreifen.
Allerdings wird der SD-Kartenleser bei diesem Notebook nicht über USB angebunden - die VirtualBox-Gasterweiterungen helfen hier also rein gar nix.
Die Lösung war, eine virtuelle Festplatte zu erstellen, welche auf die SD-Karte verlinkt.
Anleitung: VirtualBox direct access to SD Card in Windows
Danach muss man nur noch die Partitionen der Karte irgendwohin mounten - z.B.
mount /dev/sbd1 /tmp/sdb1
mount /dev/sdb2 /tmp/sdb2
Leonard Nimoy ist tot
Er war und wird es immer bleiben - ein Freund.