class_checkbutton.rst 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/CheckButton.xml.
  6. .. _class_CheckButton:
  7. CheckButton
  8. ===========
  9. **Inherits:** :ref:`Button<class_Button>` **<** :ref:`BaseButton<class_BaseButton>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. A button that represents a binary choice.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. **CheckButton** is a toggle button displayed as a check field. It's similar to :ref:`CheckBox<class_CheckBox>` in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use **CheckButton** when toggling it has an **immediate** effect on something. For example, it can be used when pressing it shows or hides advanced settings, without asking the user to confirm this action.
  15. See also :ref:`BaseButton<class_BaseButton>` which contains common properties and methods associated with this node.
  16. .. rst-class:: classref-reftable-group
  17. Properties
  18. ----------
  19. .. table::
  20. :widths: auto
  21. +-------------------------------------------------------------------+-------------+-------------------------------------------------------------------------------+
  22. | :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` | alignment | ``0`` (overrides :ref:`Button<class_Button_property_alignment>`) |
  23. +-------------------------------------------------------------------+-------------+-------------------------------------------------------------------------------+
  24. | :ref:`bool<class_bool>` | toggle_mode | ``true`` (overrides :ref:`BaseButton<class_BaseButton_property_toggle_mode>`) |
  25. +-------------------------------------------------------------------+-------------+-------------------------------------------------------------------------------+
  26. .. rst-class:: classref-reftable-group
  27. Theme Properties
  28. ----------------
  29. .. table::
  30. :widths: auto
  31. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  32. | :ref:`Color<class_Color>` | :ref:`font_color<class_CheckButton_theme_color_font_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
  33. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  34. | :ref:`Color<class_Color>` | :ref:`font_disabled_color<class_CheckButton_theme_color_font_disabled_color>` | ``Color(0.875, 0.875, 0.875, 0.5)`` |
  35. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  36. | :ref:`Color<class_Color>` | :ref:`font_focus_color<class_CheckButton_theme_color_font_focus_color>` | ``Color(0.95, 0.95, 0.95, 1)`` |
  37. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  38. | :ref:`Color<class_Color>` | :ref:`font_hover_color<class_CheckButton_theme_color_font_hover_color>` | ``Color(0.95, 0.95, 0.95, 1)`` |
  39. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  40. | :ref:`Color<class_Color>` | :ref:`font_hover_pressed_color<class_CheckButton_theme_color_font_hover_pressed_color>` | ``Color(1, 1, 1, 1)`` |
  41. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  42. | :ref:`Color<class_Color>` | :ref:`font_outline_color<class_CheckButton_theme_color_font_outline_color>` | ``Color(1, 1, 1, 1)`` |
  43. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  44. | :ref:`Color<class_Color>` | :ref:`font_pressed_color<class_CheckButton_theme_color_font_pressed_color>` | ``Color(1, 1, 1, 1)`` |
  45. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  46. | :ref:`int<class_int>` | :ref:`check_v_offset<class_CheckButton_theme_constant_check_v_offset>` | ``0`` |
  47. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  48. | :ref:`int<class_int>` | :ref:`h_separation<class_CheckButton_theme_constant_h_separation>` | ``4`` |
  49. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  50. | :ref:`int<class_int>` | :ref:`outline_size<class_CheckButton_theme_constant_outline_size>` | ``0`` |
  51. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  52. | :ref:`Font<class_Font>` | :ref:`font<class_CheckButton_theme_font_font>` | |
  53. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  54. | :ref:`int<class_int>` | :ref:`font_size<class_CheckButton_theme_font_size_font_size>` | |
  55. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  56. | :ref:`Texture2D<class_Texture2D>` | :ref:`checked<class_CheckButton_theme_icon_checked>` | |
  57. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  58. | :ref:`Texture2D<class_Texture2D>` | :ref:`checked_disabled<class_CheckButton_theme_icon_checked_disabled>` | |
  59. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  60. | :ref:`Texture2D<class_Texture2D>` | :ref:`checked_disabled_mirrored<class_CheckButton_theme_icon_checked_disabled_mirrored>` | |
  61. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  62. | :ref:`Texture2D<class_Texture2D>` | :ref:`checked_mirrored<class_CheckButton_theme_icon_checked_mirrored>` | |
  63. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  64. | :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked<class_CheckButton_theme_icon_unchecked>` | |
  65. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  66. | :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked_disabled<class_CheckButton_theme_icon_unchecked_disabled>` | |
  67. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  68. | :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked_disabled_mirrored<class_CheckButton_theme_icon_unchecked_disabled_mirrored>` | |
  69. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  70. | :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked_mirrored<class_CheckButton_theme_icon_unchecked_mirrored>` | |
  71. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  72. | :ref:`StyleBox<class_StyleBox>` | :ref:`disabled<class_CheckButton_theme_style_disabled>` | |
  73. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  74. | :ref:`StyleBox<class_StyleBox>` | :ref:`focus<class_CheckButton_theme_style_focus>` | |
  75. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  76. | :ref:`StyleBox<class_StyleBox>` | :ref:`hover<class_CheckButton_theme_style_hover>` | |
  77. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  78. | :ref:`StyleBox<class_StyleBox>` | :ref:`hover_pressed<class_CheckButton_theme_style_hover_pressed>` | |
  79. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  80. | :ref:`StyleBox<class_StyleBox>` | :ref:`normal<class_CheckButton_theme_style_normal>` | |
  81. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  82. | :ref:`StyleBox<class_StyleBox>` | :ref:`pressed<class_CheckButton_theme_style_pressed>` | |
  83. +-----------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------+
  84. .. rst-class:: classref-section-separator
  85. ----
  86. .. rst-class:: classref-descriptions-group
  87. Theme Property Descriptions
  88. ---------------------------
  89. .. _class_CheckButton_theme_color_font_color:
  90. .. rst-class:: classref-themeproperty
  91. :ref:`Color<class_Color>` **font_color** = ``Color(0.875, 0.875, 0.875, 1)``
  92. The **CheckButton** text's font color.
  93. .. rst-class:: classref-item-separator
  94. ----
  95. .. _class_CheckButton_theme_color_font_disabled_color:
  96. .. rst-class:: classref-themeproperty
  97. :ref:`Color<class_Color>` **font_disabled_color** = ``Color(0.875, 0.875, 0.875, 0.5)``
  98. The **CheckButton** text's font color when it's disabled.
  99. .. rst-class:: classref-item-separator
  100. ----
  101. .. _class_CheckButton_theme_color_font_focus_color:
  102. .. rst-class:: classref-themeproperty
  103. :ref:`Color<class_Color>` **font_focus_color** = ``Color(0.95, 0.95, 0.95, 1)``
  104. The **CheckButton** text's font color when it's focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
  105. .. rst-class:: classref-item-separator
  106. ----
  107. .. _class_CheckButton_theme_color_font_hover_color:
  108. .. rst-class:: classref-themeproperty
  109. :ref:`Color<class_Color>` **font_hover_color** = ``Color(0.95, 0.95, 0.95, 1)``
  110. The **CheckButton** text's font color when it's hovered.
  111. .. rst-class:: classref-item-separator
  112. ----
  113. .. _class_CheckButton_theme_color_font_hover_pressed_color:
  114. .. rst-class:: classref-themeproperty
  115. :ref:`Color<class_Color>` **font_hover_pressed_color** = ``Color(1, 1, 1, 1)``
  116. The **CheckButton** text's font color when it's hovered and pressed.
  117. .. rst-class:: classref-item-separator
  118. ----
  119. .. _class_CheckButton_theme_color_font_outline_color:
  120. .. rst-class:: classref-themeproperty
  121. :ref:`Color<class_Color>` **font_outline_color** = ``Color(1, 1, 1, 1)``
  122. The tint of text outline of the **CheckButton**.
  123. .. rst-class:: classref-item-separator
  124. ----
  125. .. _class_CheckButton_theme_color_font_pressed_color:
  126. .. rst-class:: classref-themeproperty
  127. :ref:`Color<class_Color>` **font_pressed_color** = ``Color(1, 1, 1, 1)``
  128. The **CheckButton** text's font color when it's pressed.
  129. .. rst-class:: classref-item-separator
  130. ----
  131. .. _class_CheckButton_theme_constant_check_v_offset:
  132. .. rst-class:: classref-themeproperty
  133. :ref:`int<class_int>` **check_v_offset** = ``0``
  134. The vertical offset used when rendering the toggle icons (in pixels).
  135. .. rst-class:: classref-item-separator
  136. ----
  137. .. _class_CheckButton_theme_constant_h_separation:
  138. .. rst-class:: classref-themeproperty
  139. :ref:`int<class_int>` **h_separation** = ``4``
  140. The separation between the toggle icon and the text (in pixels). Negative values will be treated as ``0`` when used.
  141. .. rst-class:: classref-item-separator
  142. ----
  143. .. _class_CheckButton_theme_constant_outline_size:
  144. .. rst-class:: classref-themeproperty
  145. :ref:`int<class_int>` **outline_size** = ``0``
  146. The size of the text outline.
  147. \ **Note:** If using a font with :ref:`FontFile.multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` enabled, its :ref:`FontFile.msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` must be set to at least *twice* the value of :ref:`outline_size<class_CheckButton_theme_constant_outline_size>` for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended.
  148. .. rst-class:: classref-item-separator
  149. ----
  150. .. _class_CheckButton_theme_font_font:
  151. .. rst-class:: classref-themeproperty
  152. :ref:`Font<class_Font>` **font**
  153. The :ref:`Font<class_Font>` to use for the **CheckButton** text.
  154. .. rst-class:: classref-item-separator
  155. ----
  156. .. _class_CheckButton_theme_font_size_font_size:
  157. .. rst-class:: classref-themeproperty
  158. :ref:`int<class_int>` **font_size**
  159. Font size of the **CheckButton**'s text.
  160. .. rst-class:: classref-item-separator
  161. ----
  162. .. _class_CheckButton_theme_icon_checked:
  163. .. rst-class:: classref-themeproperty
  164. :ref:`Texture2D<class_Texture2D>` **checked**
  165. The icon to display when the **CheckButton** is checked (for left-to-right layouts).
  166. .. rst-class:: classref-item-separator
  167. ----
  168. .. _class_CheckButton_theme_icon_checked_disabled:
  169. .. rst-class:: classref-themeproperty
  170. :ref:`Texture2D<class_Texture2D>` **checked_disabled**
  171. The icon to display when the **CheckButton** is checked and disabled (for left-to-right layouts).
  172. .. rst-class:: classref-item-separator
  173. ----
  174. .. _class_CheckButton_theme_icon_checked_disabled_mirrored:
  175. .. rst-class:: classref-themeproperty
  176. :ref:`Texture2D<class_Texture2D>` **checked_disabled_mirrored**
  177. The icon to display when the **CheckButton** is checked and disabled (for right-to-left layouts).
  178. .. rst-class:: classref-item-separator
  179. ----
  180. .. _class_CheckButton_theme_icon_checked_mirrored:
  181. .. rst-class:: classref-themeproperty
  182. :ref:`Texture2D<class_Texture2D>` **checked_mirrored**
  183. The icon to display when the **CheckButton** is checked (for right-to-left layouts).
  184. .. rst-class:: classref-item-separator
  185. ----
  186. .. _class_CheckButton_theme_icon_unchecked:
  187. .. rst-class:: classref-themeproperty
  188. :ref:`Texture2D<class_Texture2D>` **unchecked**
  189. The icon to display when the **CheckButton** is unchecked (for left-to-right layouts).
  190. .. rst-class:: classref-item-separator
  191. ----
  192. .. _class_CheckButton_theme_icon_unchecked_disabled:
  193. .. rst-class:: classref-themeproperty
  194. :ref:`Texture2D<class_Texture2D>` **unchecked_disabled**
  195. The icon to display when the **CheckButton** is unchecked and disabled (for left-to-right layouts).
  196. .. rst-class:: classref-item-separator
  197. ----
  198. .. _class_CheckButton_theme_icon_unchecked_disabled_mirrored:
  199. .. rst-class:: classref-themeproperty
  200. :ref:`Texture2D<class_Texture2D>` **unchecked_disabled_mirrored**
  201. The icon to display when the **CheckButton** is unchecked and disabled (for right-to-left layouts).
  202. .. rst-class:: classref-item-separator
  203. ----
  204. .. _class_CheckButton_theme_icon_unchecked_mirrored:
  205. .. rst-class:: classref-themeproperty
  206. :ref:`Texture2D<class_Texture2D>` **unchecked_mirrored**
  207. The icon to display when the **CheckButton** is unchecked (for right-to-left layouts).
  208. .. rst-class:: classref-item-separator
  209. ----
  210. .. _class_CheckButton_theme_style_disabled:
  211. .. rst-class:: classref-themeproperty
  212. :ref:`StyleBox<class_StyleBox>` **disabled**
  213. The :ref:`StyleBox<class_StyleBox>` to display as a background when the **CheckButton** is disabled.
  214. .. rst-class:: classref-item-separator
  215. ----
  216. .. _class_CheckButton_theme_style_focus:
  217. .. rst-class:: classref-themeproperty
  218. :ref:`StyleBox<class_StyleBox>` **focus**
  219. The :ref:`StyleBox<class_StyleBox>` to display as a background when the **CheckButton** is focused. The ``focus`` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
  220. .. rst-class:: classref-item-separator
  221. ----
  222. .. _class_CheckButton_theme_style_hover:
  223. .. rst-class:: classref-themeproperty
  224. :ref:`StyleBox<class_StyleBox>` **hover**
  225. The :ref:`StyleBox<class_StyleBox>` to display as a background when the **CheckButton** is hovered.
  226. .. rst-class:: classref-item-separator
  227. ----
  228. .. _class_CheckButton_theme_style_hover_pressed:
  229. .. rst-class:: classref-themeproperty
  230. :ref:`StyleBox<class_StyleBox>` **hover_pressed**
  231. The :ref:`StyleBox<class_StyleBox>` to display as a background when the **CheckButton** is hovered and pressed.
  232. .. rst-class:: classref-item-separator
  233. ----
  234. .. _class_CheckButton_theme_style_normal:
  235. .. rst-class:: classref-themeproperty
  236. :ref:`StyleBox<class_StyleBox>` **normal**
  237. The :ref:`StyleBox<class_StyleBox>` to display as a background.
  238. .. rst-class:: classref-item-separator
  239. ----
  240. .. _class_CheckButton_theme_style_pressed:
  241. .. rst-class:: classref-themeproperty
  242. :ref:`StyleBox<class_StyleBox>` **pressed**
  243. The :ref:`StyleBox<class_StyleBox>` to display as a background when the **CheckButton** is pressed.
  244. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  245. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  246. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  247. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  248. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  249. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`