TomSchimansky / CustomTkinter

A modern and customizable python UI-library based on Tkinter
MIT License
11.33k stars 1.07k forks source link

Implemented CtkSpinBox #2275

Open FedericoSpada opened 7 months ago

FedericoSpada commented 7 months ago

Implemented the true CtkSpinBox by copying CtkComboBox and performing the needed changes.

image

I didn't dare to touch DrawEngine.draw_rounded_rect_with_border_vertical_split(), so for now there is just one button and I discern the "up" or "down" section by looking at the relative mouse position within the canvas. This has the side effect that when you hover on it with the mouse, both "buttons" are highlighted simultaneously, but it's not that ugly.

Parameters from_ and to impose limits to the number that can be displayed, while by providing the value parameter, you can pick elements from any List. Thanks to step_button and step_scroll parameters you can choose how much the value (or List index) is changed if you click a button or scroll the mouse wheel respectively. default_value is self-explanatory but it is effective only if a tkinter.Variable is not provided. Finally, the format parameter is used to invoke the format() method on it to display other text that is not part of the value (for example, measurement units).

Anonymous6598 commented 7 months ago

That's awesome! We will almost replace Tkinter framework. Great job!