Исходники. В сравнении с 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