Default checkbox 

The checkbox with renderType check is typically a single checkbox or a group of checkboxes.

Its state can be inverted via invertStateDisplay.

Examples 

All examples listed here can be found in the extension styleguide.

Example: Simple checkbox with label 

A single checkbox with a label

A single checkbox with a label

TCA:

EXT:my_extension/Configuration/TCA/Overrides/241-tx_myextension_talk-recording_allowed.php
<?php

use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;

defined('TYPO3') or die();

ExtensionManagementUtility::addTCAcolumns('tx_myextension_talk', [
  'recording_allowed' => [
    'label' => 'my_extension.db:talk.recording_allowed',
    'config' => [
      'type' => 'check',
      'items' => [
        ['label' => 'my_extension.db:talk.recording_allowed.item'],
      ],
      'behaviour' => [
        'allowLanguageSynchronization' => true,
      ],
    ],
  ],
]);
ExtensionManagementUtility::addToAllTCAtypes(
  'tx_myextension_talk',
  'recording_allowed',
  'talk,keynote',
  'after:recording',
);
Copied!

If the checkbox is checked, the value for the field will be 1, if unchecked, it will be 0.

FlexForm:

EXT:my_extension/Configuration/FlexForms/ConferenceList.xml
<T3DataStructure>
  <sheets>
    <sDEF>
      <ROOT>
        <sheetTitle>my_extension.db:plugin.conferencelist.sheet.general</sheetTitle>
        <type>array</type>
        <el>
          <settings.mode>
            <label>my_extension.db:plugin.conferencelist.mode</label>
            <onChange>reload</onChange>
            <config>
              <type>select</type>
              <renderType>selectSingle</renderType>
              <items>
                <numIndex index="0">
                  <label>my_extension.db:plugin.conferencelist.mode.upcoming</label>
                  <value>upcoming</value>
                </numIndex>
                <numIndex index="1">
                  <label>my_extension.db:plugin.conferencelist.mode.past</label>
                  <value>past</value>
                </numIndex>
                <numIndex index="2">
                  <label>my_extension.db:plugin.conferencelist.mode.selected</label>
                  <value>selected</value>
                </numIndex>
              </items>
            </config>
          </settings.mode>
          <settings.conferences>
            <label>my_extension.db:plugin.conferencelist.conferences</label>
            <displayCond>FIELD:settings.mode:=:selected</displayCond>
            <config>
              <type>group</type>
              <allowed>tx_myextension_conference</allowed>
            </config>
          </settings.conferences>
          <settings.categories>
            <label>my_extension.db:plugin.conferencelist.categories</label>
            <config>
              <type>category</type>
            </config>
          </settings.categories>
          <settings.display>
            <label>my_extension.db:plugin.conferencelist.display</label>
            <config>
              <type>check</type>
              <items>
                <numIndex index="0">
                  <label>my_extension.db:plugin.conferencelist.display.logo</label>
                </numIndex>
                <numIndex index="1">
                  <label>my_extension.db:plugin.conferencelist.display.location</label>
                </numIndex>
                <numIndex index="2">
                  <label>my_extension.db:plugin.conferencelist.display.speakers</label>
                </numIndex>
                <numIndex index="3">
                  <label>my_extension.db:plugin.conferencelist.display.date</label>
                </numIndex>
              </items>
              <cols>3</cols>
              <default>15</default>
            </config>
          </settings.display>
          <settings.limit>
            <label>my_extension.db:plugin.conferencelist.limit</label>
            <displayCond>
              <or>
                <value1>FIELD:settings.mode:=:upcoming</value1>
                <value2>FIELD:settings.mode:=:past</value2>
              </or>
            </displayCond>
            <config>
              <type>number</type>
              <default>10</default>
            </config>
          </settings.limit>
          <settings.country>
            <label>my_extension.db:plugin.conferencelist.country</label>
            <config>
              <type>country</type>
              <labelField>localizedName</labelField>
              <size>4</size>
              <prioritizedCountries>
                <numIndex index="0">CH</numIndex>
                <numIndex index="1">DE</numIndex>
                <numIndex index="2">AT</numIndex>
              </prioritizedCountries>
            </config>
          </settings.country>
          <settings.timezone>
            <label>my_extension.db:plugin.conferencelist.timezone</label>
            <config>
              <type>select</type>
              <renderType>selectSingle</renderType>
              <items>
                <numIndex index="0">
                  <label></label>
                  <value></value>
                </numIndex>
              </items>
              <itemsProcessors>
                <numIndex index="100">
                  <class>MyVendor\MyExtension\Backend\ItemsProcessor\TimezoneItemsProcessor</class>
                  <parameters>
                    <regions>Europe</regions>
                  </parameters>
                </numIndex>
              </itemsProcessors>
            </config>
          </settings.timezone>
        </el>
      </ROOT>
    </sDEF>
    <sHighlights>
      <ROOT>
        <sheetTitle>my_extension.db:plugin.conferencelist.sheet.highlights</sheetTitle>
        <sheetDescription>my_extension.db:plugin.conferencelist.sheet.highlights.description</sheetDescription>
        <type>array</type>
        <el>
          <settings.introduction>
            <label>my_extension.db:plugin.conferencelist.introduction</label>
            <config>
              <type>text</type>
              <enableRichtext>1</enableRichtext>
            </config>
          </settings.introduction>
          <settings.highlights>
            <title>my_extension.db:plugin.conferencelist.highlights</title>
            <type>array</type>
            <section>1</section>
            <el>
              <highlight>
                <title>my_extension.db:plugin.conferencelist.highlight</title>
                <type>array</type>
                <el>
                  <title>
                    <label>my_extension.db:plugin.conferencelist.highlight.title</label>
                    <config>
                      <type>input</type>
                    </config>
                  </title>
                  <link>
                    <label>my_extension.db:plugin.conferencelist.highlight.link</label>
                    <config>
                      <type>link</type>
                    </config>
                  </link>
                </el>
              </highlight>
            </el>
          </settings.highlights>
        </el>
      </ROOT>
    </sHighlights>
  </sheets>
</T3DataStructure>
Copied!

Example: Four checkboxes in three columns 

Four checkboxes in three columns

Four checkboxes in three columns

TCA:

EXT:my_extension/Configuration/TCA/Overrides/136-tx_myextension_conference-amenities.php
<?php

use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;

defined('TYPO3') or die();

ExtensionManagementUtility::addTCAcolumns('tx_myextension_conference', [
  'amenities' => [
    'label' => 'my_extension.db:conference.amenities',
    'config' => [
      'type' => 'check',
      'items' => [
        ['label' => 'my_extension.db:conference.amenities.catering'],
        ['label' => 'my_extension.db:conference.amenities.childcare'],
        ['label' => 'my_extension.db:conference.amenities.live_stream'],
        ['label' => 'my_extension.db:conference.amenities.wheelchair_access'],
      ],
      'cols' => 3,
    ],
  ],
]);
ExtensionManagementUtility::addToAllTCAtypes(
  'tx_myextension_conference',
  'amenities',
  '',
  'after:ticketing_secret',
);
Copied!

If all checkboxes are checked, the value for the field will be 15 ( 1 | 2 | 4 | 8 ).

Example: Checkboxes with inline floating 

The weekdays of a location, Monday to Friday checked by default

The weekdays of a location, Monday to Friday checked by default

EXT:my_extension/Configuration/TCA/Overrides/430-tx_myextension_location-open_days.php
<?php

use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;

defined('TYPO3') or die();

ExtensionManagementUtility::addTCAcolumns('tx_myextension_location', [
  'open_days' => [
    'label' => 'my_extension.db:location.open_days',
    'config' => [
      'type' => 'check',
      'items' => [
        ['label' => 'my_extension.db:location.open_days.monday'],
        ['label' => 'my_extension.db:location.open_days.tuesday'],
        ['label' => 'my_extension.db:location.open_days.wednesday'],
        ['label' => 'my_extension.db:location.open_days.thursday'],
        ['label' => 'my_extension.db:location.open_days.friday'],
        ['label' => 'my_extension.db:location.open_days.saturday'],
        ['label' => 'my_extension.db:location.open_days.sunday'],
      ],
      'cols' => 'inline',
      // Monday to Friday: the first five bits
      'default' => 31,
    ],
  ],
]);
ExtensionManagementUtility::addToAllTCAtypes(
  'tx_myextension_location',
  'open_days',
  '',
  'after:capacity',
);
Copied!

This will display as many checkbox items as will fit in one row. Without inline, each checkbox would be displayed in a separate row.