### Starter Project Setup and Execution Source: https://github.com/nodegui/react-nodegui/blob/master/website/docs/guides/tutorial.md Clone, install dependencies, and run the React NodeGui starter project to quickly get started. ```sh # Clone the repository $ git clone https://github.com/nodegui/react-nodegui-starter # Go into the repository $ cd react-nodegui-starter # Install dependencies $ npm install # Run the dev server $ npm run dev # Run the app on a separate terminal tab or window $ npm start ``` -------------------------------- ### Install Dependencies Source: https://github.com/nodegui/react-nodegui/blob/master/website/README.md Run this command to install all project dependencies. ```bash yarn ``` -------------------------------- ### Install with Custom Qt Source: https://github.com/nodegui/react-nodegui/blob/master/README.md Use this command to install dependencies when using a custom Qt installation directory. ```bash QT_INSTALL_DIR=/path/to/qt npm install ``` -------------------------------- ### Start Local Development Server Source: https://github.com/nodegui/react-nodegui/blob/master/website/README.md Starts a local development server. Changes are reflected live without server restarts. ```bash yarn start ``` -------------------------------- ### Verify Node.js and npm Installation (macOS/Linux) Source: https://github.com/nodegui/react-nodegui/blob/master/website/docs/guides/getting-started.md Confirm that Node.js and npm are installed and accessible in your terminal. These commands should output their respective version numbers. ```shell # This command should print the version of Node.js node -v # This command should print the version of npm npm -v ``` -------------------------------- ### Basic GridView Layout Example Source: https://github.com/nodegui/react-nodegui/blob/master/website/docs/guides/layout.md Demonstrates how to set up a GridView with rows and columns, including dynamic addition/removal of rows and columns, and row stretching. ```jsx import React, { useState } from "react"; import { Renderer, GridView, GridRow, GridColumn, Text, Window, View, Button, useEventHandler } from "@nodegui/react-nodegui"; import { QPushButtonSignals } from "@nodegui/nodegui"; const App = () => { const [additionalRows, setAdditionalRows] = useState([]); const [rowStretch, setRowStretch] = useState(false); const [additionalColumns, setAdditionalColumns] = useState([]); const insertRowHandler = useEventHandler( { clicked: () => setAdditionalRows((rows) => [...rows, `Row ${rows.length}`]), }, [] ); const removeRowHandler = useEventHandler( { clicked: () => setAdditionalRows((rows) => [...rows.slice(0, rows.length - 1)]), }, [] ); const insertColumnHandler = useEventHandler( { clicked: () => setAdditionalColumns((columns) => [ ...columns, `Column ${columns.length}`, ]), }, [] ); const removeColumnsHandler = useEventHandler( { clicked: () => setAdditionalColumns((columns) => [ ...columns.slice(0, columns.length - 1), ]), }, [] ); const toggleRowStretch = useEventHandler( { clicked: () => setRowStretch((value) => !value), }, [] ); return ( Hello