mafulechka
mafulechka31. Januar 2020 07:00

Qt Bridge erweitern

Inhalt
  1. 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");
}
Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 14:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 18:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr9. Februar 2024 02:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 18:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 10:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 22:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 16:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 11:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken