mafulechka
Jan. 31, 2020, 6 p.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");
}

Recommended articles on this topic

By article asked0question(s)

2

Do you like it? Share on social networks!

Comments

Only authorized users can post comments.
Please, Log in or Sign up
  • Last comments
  • Evgenii Legotckoi
    March 9, 2025, 9:02 p.m.
    К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
  • VP
    March 9, 2025, 4:14 p.m.
    Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
  • ИМ
    Nov. 22, 2024, 9:51 p.m.
    Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
  • Evgenii Legotckoi
    Oct. 31, 2024, 11:37 p.m.
    Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
  • A
    Oct. 19, 2024, 5:19 p.m.
    Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html