- 1. APIs
Qt Design Studio ist das neueste Angebot der Firma Qt. Es ist ein benutzerfreundliches Designtool, mit dem Designer Designs aus Sketch und Photoshop in Qt importieren, animieren und auf der Zielhardware testen und in QML-Code umwandeln können, den Entwickler verwenden können.
Qt Bridge ist eine Plugin-Komponente für Design-Tools wie Photoshop und Sketch. Das Plugin ermöglicht es Designern in erster Linie, die Ebenen eines Designdokuments zu kommentieren und diese Anmerkungen zusammen mit den Assets und dem DOM des Designdokuments in ein Zwischenformat zu exportieren, das in QDS importiert werden kann. Das Plugin wird mit Javascript entwickelt und verwendet die von den Designtools bereitgestellten APIs.
Qt Bridge-Plug-in-Version 1.4 und höher ermöglicht Benutzern das Schreiben von JSX-Skripts, um das Verhalten des Qt Bridge-Plug-ins für Photoshop zu erweitern oder anzupassen. Auf dem Einstellungsbildschirm kann der Benutzer sein eigenes Skript auswählen. Das Skript wird beim Laden des Plugins ausgewertet.
APIs
Die folgenden APIs können in einer JSX-Datei definiert werden, um das Verhalten von Qt Bridge anzupassen oder zu erweitern.
• preExport (documentInstance)
preExport(...) API wird aufgerufen, bevor das PSD-Dokument exportiert wird. Die Dokumenteninstanz wird als Argument gesendet. Der Benutzer kann Änderungen am Dokument vornehmen und diese Änderungen bei Bedarf rückgängig machen, nachdem der Export abgeschlossen ist, indem er die API postExport(...) definiert.
• postExport (Dokumentinstanz)
postExport(...) API wird nach dem Export des PSD-Dokuments aufgerufen. Die Dokumenteninstanz wird als Argument gesendet. Der Benutzer kann Änderungen an der Dokumentinstanz vornehmen. Beispielsweise können Sie Änderungen an einem Dokument in der API preExport(...) rückgängig machen.
• customQmlId (generateQmlId, psdLayerInstance)
Die API customQmlId(...) wird jedes Mal aufgerufen, wenn eine Standard-QML-ID für die PSD-Schicht generiert wird, und der Benutzer kann eine QML-ID zurückgeben, die der Schicht zugewiesen werden soll. Der Parameter g generateQmlId ist die standardmäßige QML-ID, die vom Qt Bridge-Plugin für die Ebene generiert wird, und der Parameter layerInstance ist das PSD-Ebenenobjekt.
Hinweis Geben Sie null zurück, um die standardmäßig generierte QML-Kennung zu verwenden.
JSX-Überschreibungsbeispiel:
Das folgende Skript schreibt Anfang und Ende des exportierten PSD-Dokuments in die Datei export.log im Home-Verzeichnis. QML-Bezeichnern wird das Präfix "m_" vorangestellt und Dokument- und Layer-Bezeichner werden entfernt.
myCustomScript.jsx
var logFile = null preExport = function (documentInstance) { if (openLogFile("~/export.log")) { var date = new Date(); logFile.writeln(date + ": Exporting: " + documentInstance.name); } } postExport = function (documentInstance) { if (logFile) { var date = new Date(); logFile.writeln(date + ": Exporting done: " + documentInstance.name); logFile.close(); } } customDefaultQmlId = function(generatedQmlId, psdLayerInstance) { return "m_" + generatedQmlId.replace(/_[0-9]*_[0-9]*$/g, ""); } function openLogFile(path) { logFile = new File(path); var fileCreated = false; return logFile.open("w"); }