1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-28 07:03:00 +08:00
lvgl/docs/widgets/extra/spinbox.md
2021-05-03 11:13:43 +02:00

2.4 KiB

.. include:: /header.rst 
:github_url: |github_link_base|/widgets/spinbox.md

Spinbox (lv_spinbox)

Overview

The Spinbox contains a number as text which can be increased or decreased by Keys or API functions. Under the hood the Spinbox is a modified Text area.

Parts and Styles

The Spinbox's main part is called LV_SPINBOX_PART_BG which is a rectangle-like background using all the typical background style properties. It also describes the style of the label with its text style properties.

LV_SPINBOX_PART_CURSOR is a virtual part describing the cursor. Read the Text area documentation for a detailed description.

Set format

lv_spinbox_set_digit_format(spinbox, digit_count, separator_position) set the format of the number. digit_count sets the number of digits. Leading zeros are added to fill the space on the left. separator_position sets the number of digit before the decimal point. 0 means no decimal point.

lv_spinbox_set_padding_left(spinbox, cnt) add cnt "space" characters between the sign an the most left digit.

Value and ranges

lv_spinbox_set_range(spinbox, min, max) sets the range of the Spinbox.

lv_spinbox_set_value(spinbox, num) sets the Spinbox's value manually.

lv_spinbox_increment(spinbox) and lv_spinbox_decrement(spinbox) increments/decrements the value of the Spinbox.

lv_spinbox_set_step(spinbox, step) sets the amount to increment decrement.

Events

Besides the Generic events the following Special events are sent by the Drop down lists:

  • LV_EVENT_VALUE_CHANGED sent when the value has changed. (the value is set as event data as int32_t)
  • LV_EVENT_INSERT sent by the ancestor Text area but shouldn't be used.

Learn more about Events.

Keys

The following Keys are processed by the Buttons:

  • LV_KEY_LEFT/RIGHT With Keypad move the cursor left/right. With Encoder decrement/increment the selected digit.
  • LY_KEY_ENTER Apply the selected option (Send LV_EVENT_VALUE_CHANGED event and close the Drop down list)
  • LV_KEY_ENTER With Encoder got the net digit. Jump to the first after the last.

Example


.. include:: /lv_examples/src/lv_ex_widgets/lv_ex_spinbox/index.rst

API


.. doxygenfile:: lv_spinbox.h
  :project: lvgl
        

Example