Используйте QGuiApplication::screens
, чтобы получить список QScreen
объектов.
Шаблоны разработки предоставляют следующие определения:
Ключ здесь - то, что, в то время как инструментарии (API) могут быть полезными во многих доменах, платформы приспособлены для решения проблем для определенных классов проблем, которые могут быть настроены "путем создания специализированных подклассов абстрактных классов платформы".
Кроме того, и возможно что еще более важно, "платформа диктует архитектуру Вашего приложения": Инверсия Управления является одной из характеристик платформ (см. Martin Fowler на этом); вместо того, чтобы иметь Ваше приложение называют определенные API для реализации определенного поведения, это - платформа, которая называет код.
Я всегда думал, что платформа была всем этим, внутренним кодом, API, и т.д.
В то время как API является просто битом, Вы используете, когда Вы хотите использовать платформу.
Другими словами, платформа.NET состоит из библиотек.NET, все языки и так далее. API является просто способом, которым Вы вызываете функции.
Как его имя предполагает (Интерфейс прикладного программирования), API является просто интерфейсом платформы.
Платформа действительно представляет понятие инверсии управления
(т.е. поток полной программы управления не диктует вызывающая сторона, но платформой),
Когда Вы обращаетесь к платформам языка (таким как Платформа Java или.Net Framework), Вы на самом деле включая больше, чем просто библиотеки и их API (который был бы более ограничен Платформа программного обеспечения, если те библиотеки обеспечивают инверсию управления).
Платформа Языка включает среды разработки и среды выполнения, которые назовут Ваш код (чтобы скомпилировать ее или выполнить ее).
Именно поэтому.Net Framework является "Платформа".
Java может относиться к своим Платформам (JDK, JRE) как "Платформа Java" для подчеркивания ее "независимой от платформы" функции языка программирования.
Платформа является аппаратными средствами или программной средой в который прогоны программы. (включая Microsoft Windows, Linux, Солярис ОС и Mac OS).
Большинство платформ может быть описано как комбинация операционной системы и используемого оборудования.
Платформа Java отличается от большинства других платформ, в которых это - платформа только для программного обеспечения, которая работает сверху других основанных на аппаратных средствах платформ.Платформа Java имеет два компонента:
- Виртуальная машина Java
- Интерфейс программирования JAVA-приложения (API)
От моего понимания API является в основном способом взаимодействовать через интерфейс с существующим приложением (как Facebook), тогда как платформа является в основном инструментом для создания Вашего собственного приложения с нуля.
Я хотел бы думать, что API является подмножеством платформы
По моему опыту, платформа часто включает две вещи (по крайней мере), которые не делает простой API:
Расширяемость: можно составить или разделить компоненты платформы на подклассы, чтобы расширить или настроить ее функциональность.
Инструменты для генерации кода, администрирования или задач диагностики, связанных с разработкой приложений.