mafulechka
mafulechkaJan. 31, 2020, 7 a.m.

Extending Qt Bridge

Content
  1. 1. APIs

Qt Design Studio is the latest offering from the Qt company. It is an easy-to-use design tool that allows designers to import designs from Sketch and Photoshop into Qt, animate and test them on the target hardware, and turn them into QML code that developers can use.

Qt Bridge is a plugin component for design tools such as Photoshop and Sketch. The plugin primarily allows designers to annotate the layers of a design document and export those annotations, along with the assets and DOM of the design document, into an intermediate format that can be imported into QDS. The plugin is developed using Javascript and uses the APIs provided by the design tools.


Qt Bridge plugin version 1.4 and above allows users to write JSX script to extend or customize the behavior of the Qt Bridge plugin for Photoshop. The settings screen allows the user to select their own script. The script is evaluated when the plugin is loaded.

APIs

The following APIs can be defined in a JSX file to customize or extend the behavior of Qt Bridge.

• preExport (documentInstance)

preExport(...) API is called before the PSD document is exported. The document instance is sent as an argument. The user can make changes to the document and, if necessary, undo those changes after the export is complete by defining the postExport(...) API.

• postExport (documentInstance)

postExport(...) API is called after the export of the PSD document. The document instance is sent as an argument. The user can make changes to the document instance. For example, you can undo changes made to a document in the preExport(...) API.

• customQmlId (generateQmlId, psdLayerInstance)

The API customQmlId(...) is called every time a default QML ID is generated for the PSD layer and the user can return a QML ID to be assigned to the layer. The g generatedQmlId parameter is the default QML ID generated by the Qt Bridge plugin for the layer, and the layerInstance parameter is the PSD layer object.

Note Return null to use the default generated QML identifier.

JSX override example:

The following script writes the beginning and end of the exported PSD document to the export.log file inside the home directory. QML identifiers are prefixed with "m_" and document and layer identifiers are removed.

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");
}
We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

Comments

Only authorized users can post comments.
Please, Log in or Sign up
OI

C++ - Test 001. The first program and data types

  • Result:40points,
  • Rating points-8
AD

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:50points,
  • Rating points-4
m

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:80points,
  • Rating points4
Last comments
ИМ
Игорь МаксимовNov. 22, 2024, 10:51 p.m.
Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii LegotckoiNov. 1, 2024, 12:37 a.m.
Django - Lesson 064. How to write a Python Markdown extension Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZEOct. 19, 2024, 6:19 p.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь МаксимовOct. 5, 2024, 5:51 p.m.
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas5July 5, 2024, 9:02 p.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Now discuss on the forum
Donald Randolph
Donald RandolphDec. 30, 2024, 1:59 p.m.
Personal Injury lawyer Santa Monica As an experienced Santa Monica personal injury lawyer, Donald C. Randolph has recovered over $100 Million in verdicts and settlements for our clients. In severe injury cases, this compensation i…
Nirvana Yoga School
Nirvana Yoga SchoolDec. 30, 2024, 4:13 p.m.
OAuth2.0 через VK, получение email Nirvana Yoga School is one of the most trusted and reputed traditional Rishikesh yoga courses , India certified by Yoga Alliance, USA. We aim to spread traditional yoga teachings so t…
s
sriparkDec. 30, 2024, 3:47 p.m.
Mobile app development company in Chennai A Mobile app development company in Chennai focuses on creating personalized mobile applications to meet various business requirements. These companies offer a full range of services,…
a
amit88Dec. 30, 2024, 3:45 p.m.
Excel in Exams with PSLE Maths Tuition Singapore Preparing for the PSLE can be challenging, but the right guidance makes all the difference. PSLE Maths tuition Singapore offers personalized coaching to help students master key concepts, improv…
a
awinash62Dec. 30, 2024, 3:23 p.m.
Unlock Your Potential with the Certified Public Accountant Credential" Becoming a Certified Public Accountant (CPA) is a career milestone that opens doors to unparalleled opportunities in the world of accounting and finance. This globally recognized qualification s…

Follow us in social networks