- PVSM.RU - https://www.pvsm.ru -

Qqt — синтаксический сахар для Qt

Исходники [1]. В сравнении с html, создавать новые окна на Qt сложнее — надо указать и тип окна-«тега», и создать новую переменную, заполнять отдельные поля. В попытке решить эту проблему возникла библиотека Qqt. Например, можно не соблюдать порядок и количество параметров при создании QAction:

Action act(tr("Text"), QIcon(":/iconPath"), tr("tooltip"), QKeySequence("Ctrl+f"));

//или
Action act(QIcon(), QKeySequence(), tr("text"), tr("tooltip"));

//Аналогично при создании кнопок и других элементов:
PushButton btn(QIcon(), tr("text"), tr("toooltip")...);
PushButton btn(QKeySequence(), ...;

//Заполнить поля можно сокращенным синтаксисом:
Action a;
a.text = "";
a.icon = QIcon();
a.toolTip = "";

В примере выше, переменная Action вызывает new QAction, хранит указатель на оригинал, имеет оператор преобразования типа на QAction*, и данный указатель можно использовать в обычной работе — например, в вызове к QObject::connect. Если переменные из этой библиотеки объявлять внутри класса, то обычные вызовы new в конструкторе тоже не требуются, можно приступать сразу к наполнению нужных свойств.

Упрощение наблюдается и в работе с layouts (см документацию). В результате, мне намного удобнее не использовать редактор GUI, а писать сразу код — и не надо переключаться между редактором кода и GUI.

Лицензия BSD, код обновляю редко — исходники в фирме хранятся на другой системе контроля версий, и на git выложена лишь для легализации в BSD-лицензии. После появления Qt под VS 2013, библиотека будет переведена на использование variadic templates вместо текущего перечисления параметров.

PS Кто может опубликовать один текст в хаб ИИ или аналогичный? Отпишитесь в комментариях, я пошлю текст статьи личным сообщением.

Автор: neurocod

Источник [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/qt-2/57850

Ссылки в тексте:

[1] Исходники: https://github.com/neurocod/Qqt

[2] Источник: http://habrahabr.ru/post/217185/