URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 113534
[ Назад ]

Исходное сообщение
"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"

Отправлено opennews , 12-Фев-18 12:47 
Представлен (https://www.kdab.com/gammaray-2-9-0-release/) выпуск отладочной среды GammaRay 2.9.0 (https://www.kdab.com/development-resources/qt-tools/gammaray/), которая позволяет во время работы приложения выполнять интроспекцию, визуализацию и редактирование внутренних структур Qt. GammaRay позволяет на лету просматривать дерево объектов QObject и анализировать обращения к объектам, редактировать свойства, инспектировать операции с QWidget, QtQuick2, QPainterQStateMachines, QGraphicsView, QStyle, QResource и многими другими компонентами Qt. Код проекта распространяется (https://github.com/KDAB/GammaRay) под лицензией GPL.

В новой версии появились средства для анализа времени выполнения каждой операций отрисовки, инициированной при использовании Qt Quick и Qt 3D. Добавлена новая вкладка для интроспекции текстур, применяемых при  рендеринге через  OpenGL.


Добавлен интерфейс инспектирования биндингов QML и связанных с ними зависимостей. Также добавлена новая система трассировки стека при создании объектов QObject. Для Qt 3D расширены возможности по инспектированию изменения геометрии и добавлено несколько новых диагностических режимов выполнения шейдеров. Для QWidget  представлен режим визуализации переключения фокуса при работе с интерфейсом.


URL: https://www.kdab.com/gammaray-2-9-0-release/
Новость: http://www.opennet.me/opennews/art.shtml?num=48058


Содержание

Сообщения в этом обсуждении
"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 12-Фев-18 12:52 
потихоньку догоняют Gtk+ с его GTK_DEBUG=interactive

"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Вахтанг7 , 12-Фев-18 13:01 
Кто кого догоняет? :)
Как можно сравнивать прекрасный и современный QT с ужасным и отсталым GTK?

"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 12-Фев-18 15:39 
Да-да, Qt (а не QT) прекрасен, но интроспекция уже -дцать лет была в GTK, а Qt только сейчас догнал.

"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 13-Фев-18 00:59 
> 2.9.0
> только сейчас догнал

Не сказать что вот прямо только сейчас.


"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 12-Фев-18 19:26 
GammaRay не вчера появилась, а вот GTK так и не стал по настоящему кросплатформенным.

"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 12-Фев-18 19:38 
> так и не стал по настоящему кросплатформенным

Для меня это не особо важно. GTK - это чисто наше, линуксовое, незачем делиться софтом с вендузятниками. Плюс я не верю в кроссплатформенный тулкит, стандарты UI-то в шинде и макоси все равно разные. Кроссплатформенный тулкит - идея того же уровня, что и клепание одного и того же "адаптивного" интерфейса для десктопа и мобилы. (про HTML5 не упоминай, клепают-то там не "адаптивный интерфейс", а адаптивный контент.)


"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 12-Фев-18 22:59 
увидев первые минусы, я решил самую малость развить свою мысль.

Swing - это кроссплатформенный тулкит на Java. И знаете что? Если поищете по IDEA Community в гитхабе по ключевому слову "ismac"[1], то обнаружите, что Swing не справляется со своей кроссплатформенностью.

Кроссплатформенность - это не просто отрисовка кнопки стандартными средствами GTK/WinAPI/макоси. Это также и следование стандартам target-оси. Эта мысль очень важна, так что я повторю ее снова:

«не просто отрисовать нативную кнопку, но и следовать Стандарту».

К примеру, в макоси, насколько я знаю, в меню File нельзя совать пункт меню Exit. В макоси нет никакого File → Exit, запрещено стандартами. И никакой so-called "кроссплатформенный" тулкит с такими требованиями не справится. Разрабатывая плагин для IDEA, я заметил, что кнопка помощи в диалоговых окнах отображается двумя разными способами: для макоси это круглая кнопка (?) снизу слева окна, а для НЕ-макоси это полноценная кнопка [Help] снизу справа наряду с [OK] [Cancel]. Не знаю, стандарт макоси это или нет, но условие способа отображения кнопки назначено именно через isMac().

А всех несогласных я бы попросил привести мне любое приложение, которое, используя один и тот же тулкит, правильно отображалось бы и в макоси (согласно Стандартам макоси), и в винде (согласно Стандартам винды). Заметьте: я не прошу поддержку линукса. Достаточно "кроссплатформенного" тулкита только для макоси и винды.

[1] https://github.com/JetBrains/intellij-community/search?utf8=...


"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 13-Фев-18 01:00 
Поменял цель и жестоко её победил. Молодец.

"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 13-Фев-18 09:16 
По твоему получается, что имея кросплатформенный тулкит, но добавив лишнюю кнопку в меню программы из-за незнания стандартов можно сделать вывод, что тулкит не кросплатформенный. Чини логику.

"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено ы , 13-Фев-18 09:58 
Такие вещи делаются во время компиляции, при помощи #ifndef Q_OS_MACOS и прочими препроцессорными директивами, а всё что ваше сиятельство написало - голимая демагогия.

"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 13-Фев-18 10:32 
Как в Qt, ни разу не используя Q_OS_MACOS/isMac()/и т. д. реализовать все то, что я описал выше? (пункт меню и кнопка Help)

Ибо кроссплатформенность предполагает, что Q_OS_MACOS/isMac() - это та функция, которой будет пользоваться исключительно тулкит, а не конечное приложение.


"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 13-Фев-18 12:01 
>Как в Qt, ни разу не используя Q_OS_MACOS/isMac()/и т. д.

Это наглая лож. Внутри Qt это везде используется. А снаружи - это задача программиста. Набор кнопок и меню делает программист, а не Qt.


"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Акроним , 15-Фев-18 11:23 
Q_OS_MACOS - это один из инструментов реализации кроссплатформенности в Qt в конечном приложении для подгонки под стандарт ОС. И активно для этого используется. Не надо бреда.

"Выпуск GammaRay 2.9.0, инструмента для отладки Qt-приложений"
Отправлено Аноним , 13-Фев-18 10:51 
Во-первых, Qt далеко уже не "библиотека для графического интерфейса", и во многом всевозможные кроссплатформенные обвязки на системозависмые компоненты делают Qt привлекательным инструментом для использования.

Во-вторых, используя Qt никто не запрещает строить интерфейсы на чистом Qml, что гарантирует одинаковый вид на всех платформах. Другой вопрос, хорошо ли когда приложения сами рисуют свой интрефейс вместо использования общих системных компонент. Но Google Сhrome и растущее количество Electron-based приложений (плюс лично у меня под оффтопиком - Steam, Nvidia Geforce Experience, Avast Antivirus и AIMP) своим примером показывают, что это стандартная практика в наше время.