mirror of
				https://github.com/slint-ui/slint.git
				synced 2025-11-03 21:24:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			109 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. Copyright © SixtyFPS GmbH <info@slint.dev>
 | 
						|
.. SPDX-License-Identifier: MIT
 | 
						|
 | 
						|
.. Slint C++ documentation master file
 | 
						|
 | 
						|
Slint C++ documentation
 | 
						|
========================================
 | 
						|
 | 
						|
.. toctree::
 | 
						|
   :maxdepth: 2
 | 
						|
   :hidden:
 | 
						|
   :caption: Getting Started On Desktop
 | 
						|
 | 
						|
   cmake.md
 | 
						|
 | 
						|
   First Steps <getting_started.md>
 | 
						|
 | 
						|
.. toctree::
 | 
						|
   :maxdepth: 2
 | 
						|
   :hidden:
 | 
						|
   :caption: Getting Started on MCU
 | 
						|
 | 
						|
   mcu/intro.md
 | 
						|
   mcu/esp_idf.md
 | 
						|
   mcu/stm32.md
 | 
						|
   mcu/generic.md
 | 
						|
 | 
						|
.. toctree::
 | 
						|
   :maxdepth: 2
 | 
						|
   :hidden:
 | 
						|
   :caption: C++ / .slint Integration
 | 
						|
 | 
						|
   Overview <overview.md>
 | 
						|
 | 
						|
   Type Mapping to C++ <types.md>
 | 
						|
 | 
						|
   Example Generated Code <generated_code.md>
 | 
						|
 | 
						|
.. toctree::
 | 
						|
   :maxdepth: 2
 | 
						|
   :hidden:
 | 
						|
   :caption: Reference
 | 
						|
 | 
						|
   api/library_root
 | 
						|
 | 
						|
   cmake_reference.md
 | 
						|
 | 
						|
   genindex
 | 
						|
 | 
						|
.. toctree::
 | 
						|
   :maxdepth: 0
 | 
						|
   :hidden:
 | 
						|
   :caption: Third-Party Licenses
 | 
						|
 | 
						|
   thirdparty.md
 | 
						|
 | 
						|
.. image:: https://github.com/slint-ui/slint/workflows/CI/badge.svg
 | 
						|
   :target: https://github.com/slint-ui/slint/actions
 | 
						|
   :alt: GitHub CI Build Status
 | 
						|
 | 
						|
.. image:: https://img.shields.io/github/discussions/slint-ui/slint
 | 
						|
   :target: https://github.com/slint-ui/slint/discussions
 | 
						|
   :alt: GitHub Discussions
 | 
						|
 | 
						|
`Slint <https://slint.dev/>`_ is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications.
 | 
						|
Slint C++ is the C++ API to interact with a Slint UI from C++.
 | 
						|
 | 
						|
The .slint Markup Language
 | 
						|
=======================
 | 
						|
 | 
						|
Slint comes with a markup language that is specifically designed for user interfaces. This language provides a
 | 
						|
powerful way to describe graphical elements, their placement, and the flow of data through the different states. It is a familiar syntax to describe the hierarchy
 | 
						|
of elements and property bindings. Here's the obligatory "Hello World":
 | 
						|
 | 
						|
.. code-block:: slint,ignore
 | 
						|
 | 
						|
    export component HelloWorld inherits Window {
 | 
						|
        width: 400px;
 | 
						|
        height: 400px;
 | 
						|
 | 
						|
        Text {
 | 
						|
           y: parent.width / 2;
 | 
						|
           x: parent.x + 200px;
 | 
						|
           text: "Hello, world";
 | 
						|
           color: blue;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
Check out the `Slint Language Documentation <../slint>`_ for more details.
 | 
						|
 | 
						|
Architecture
 | 
						|
============
 | 
						|
 | 
						|
An application is composed of the business logic written in C++ and the `.slint` user interface design markup, which
 | 
						|
is compiled to native code.
 | 
						|
 | 
						|
.. image:: https://slint.dev/resources/architecture.drawio.svg
 | 
						|
  :alt: Architecture Overview
 | 
						|
 | 
						|
Developing
 | 
						|
==========
 | 
						|
 | 
						|
You can create and edit `.slint` files using our `Slint Visual Studio Code Extension <https://marketplace.visualstudio.com/items?itemName=Slint.slint>`_,
 | 
						|
which features syntax highlighting and live design preview.
 | 
						|
 | 
						|
For a quick edit and preview cycle, you can also use the :code:`slint-viewer` command line tool, which can be installed using :code:`cargo install slint-viewer`,
 | 
						|
if you have `Cargo <https://marketplace.visualstudio.com/items?itemName=Slint.slint>`_ installed.
 | 
						|
 | 
						|
In the next section you will learn how to install the Slint C++ library and the CMake build system integration.
 |