Ошибка: request for member `getStatus' in `test', which is of non-aggregate type `Bow ()()'
Решение: необходимо убрать скобки в Bow tst(); => Bow tst;
link
Ярлыки
- С++ (3)
- Стихи (1)
- тонировка (1)
- Цитаты (2)
- ALTlinux (1)
- Apache (2)
- big-endian (1)
- Blogger (1)
- books (3)
- books links (1)
- Buisness (10)
- C (1)
- C# (5)
- c++ (27)
- car (8)
- Cheat (1)
- CSS (1)
- DLL (1)
- Draw (1)
- Eclipse (2)
- Films (1)
- Firefox (4)
- Flash (1)
- GTK (2)
- GUI (1)
- Home server (1)
- Hotels (1)
- HTML (6)
- IE (1)
- Internet (2)
- Java (1)
- JavaScript (6)
- jQuery (1)
- KDE (1)
- KeeTouch (1)
- Linux (34)
- little-endian (1)
- Makefile (1)
- MFC (6)
- multi-thread (2)
- Music (1)
- ODBC (2)
- OpenBox (2)
- photo (4)
- PHP (38)
- programing (2)
- proxy (1)
- QML (37)
- Qt (41)
- QtCreator (2)
- RegExp (3)
- Shopping (12)
- shutdown (1)
- Soft (1)
- Sound Card (1)
- SQL (1)
- SQL Server (14)
- Subversion (1)
- SVN (1)
- teach (4)
- text-editor (1)
- Travels (1)
- Ubuntu (38)
- Upstart (1)
- Vi (2)
- VirtualBox (2)
- Virtualization (1)
- vkontakte.ru (1)
- Web (2)
- Web-Kit (5)
- WinAPI (7)
- Windows (4)
вторник, 30 января 2018 г.
Qt Creator - включить profiler для QML.
Если при запуске профайлера появляется сообщение:
необходимо включить его поддержку.
Для включения профалера необходимо:
1. В левой панели Qt Creator выбрать вкладку Projects
2. Выбрать пункт Build.
2.1. Развернуть элемент Build Steps.
2.2. Включить галку Enable QML debugging.
3. Выбрать пункт Run.
3.1. В разделе Debugger Settings вкючить галку Enable QML.
4. Для запуска профайлера, в верхнем меню Analyze/QML Profiler.
Could not connect to the in-process QML profiler.
Do you want to retry?
необходимо включить его поддержку.
Для включения профалера необходимо:
1. В левой панели Qt Creator выбрать вкладку Projects
2. Выбрать пункт Build.
2.1. Развернуть элемент Build Steps.
2.2. Включить галку Enable QML debugging.
3. Выбрать пункт Run.
3.1. В разделе Debugger Settings вкючить галку Enable QML.
4. Для запуска профайлера, в верхнем меню Analyze/QML Profiler.
понедельник, 29 января 2018 г.
Qt/QML - создание файлов перевода
Для создания локализации приложения необходимо выполнить:
1. Создать файла перевода:
lupdate file1.qml file2.qml -ts ru.ts
2. Редактировать ts файл:
-удалить type="unfinished" в теге translation
-написать перевод слова в тег translation
3. Создать бинарный файл из файла перевода:
lrelease ru.ts
должен появится файл ru.qm.
Если у вас несколько ts файлов их можно обьединить в один:
lconvert -i one.ts two.ts -o res.ts
4. Добавить в файл ресурса:
<qresource prefix = "translations">
<file>ru.qm</file>
</qresource>
5. Загрузить в проект:
QTranslator tran;
tran.load(":translations/ru.qm");
app.installTranslator(&tran);
Additional info here.
1. Создать файла перевода:
lupdate file1.qml file2.qml -ts ru.ts
2. Редактировать ts файл:
-удалить type="unfinished" в теге translation
-написать перевод слова в тег translation
3. Создать бинарный файл из файла перевода:
lrelease ru.ts
должен появится файл ru.qm.
Если у вас несколько ts файлов их можно обьединить в один:
lconvert -i one.ts two.ts -o res.ts
4. Добавить в файл ресурса:
<qresource prefix = "translations">
<file>ru.qm</file>
</qresource>
5. Загрузить в проект:
QTranslator tran;
tran.load(":translations/ru.qm");
app.installTranslator(&tran);
Additional info here.
вторник, 23 января 2018 г.
Qt - масштабирование QQuickItem с сохранением позиции
При отрисовке QQuickItem мы переписываем updatePaintNode().
если необходимо смасштабировать обьект в ноде то применяем трансформационную ноду которую перемножаем на трансформационную матрицу.
для того, чтобы обьект остался на своем месте его необходимо сдвинуть в начало координат, а затем вернуть обратно.
Более подробно тут.
если необходимо смасштабировать обьект в ноде то применяем трансформационную ноду которую перемножаем на трансформационную матрицу.
для того, чтобы обьект остался на своем месте его необходимо сдвинуть в начало координат, а затем вернуть обратно.
QSGNode *quickItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *)
{
QRectF bounds = boundingRect();
QSGNode *n = static_cast(oldNode);
if (!n) {
n = new QSGNode();
} else {
QSGTransformNode *transformNode = new QSGTransformNode;
QMatrix4x4 m;
m.translate(bounds.width()/2, bounds.height()/2,0);
m.scale(0.1);
m.translate(-bounds.width()/2, -bounds.height()/2,0);
transformNode->setMatrix(m);
n->appendChildNode(transformNode);
}
return n;
}
Более подробно тут.
пятница, 12 января 2018 г.
QML - смешивание Qt Quick Controls 1.x и 2.x
вторник, 9 января 2018 г.
QML - Ворнинги QML Connections: Cannot assign to non-existent property
Если все работает, но ворнинги появляются при использовании Connections
можно попробовать установить ignoreUnknownSignals: true внутри Connections
Более подробно тут.
Connections {
ignoreUnknownSignals: true // нужно что-бы убрать ворнинг QML Connections: Cannot assign to non-existent property
target: contactsTab
onSigWidthIsNull : {
hideScrollBar(isNull)
}
}
Более подробно тут.
Подписаться на:
Сообщения (Atom)