Skip to main content

PySinglSlider

PyPI version

PySinglSlider is a customizable, simple single slider widget built with Pygame. Designed for quick setup and theming, it lets you add an interactive slider for Pygame applications that need fine-grained control over a value range.

Features

  • Easily customizable for different themes and styles.
  • Supports adjustable value ranges.
  • Includes event listening for smooth handling of slider interactions.
  • Simple integration into any Pygame-based project.

Installation

Install PySinglSlider via PyPI:

pip install py_singl_slider

Getting Started

Importing and Setting Up the Slider

To integrate PySinglSlider into your Pygame project, follow these steps:

  1. Import PySinglSlider from py_singl_slider in your Pygame script. (see example down below)
  2. Initialize the slider with optional parameters such as position, value range, initial value, and theme settings.
  3. Handle events and render the slider in your game loop.

Example Usage

Here's a basic example to get started:

import pygame
import py_singl_slider

pygame.init()
screen = pygame.display.set_mode((800, 600))
clock = pygame.time.Clock()

# Create slider

slider = py_singl_slider.PySinglSlider(x=100, y=250, min_value=0, max_value=100, initial_value=50)

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        # Pass events to the slider
        slider.listen_event(event)

    # Clear the screen
    screen.fill((255, 255, 255))
    
    # Render the slider
    slider.render(screen)
    
    # Display the current slider value
    font = pygame.font.Font(None, 36)
    value_text = font.render(f"Value: {slider.value:.2f}", True, (0, 0, 0))
    screen.blit(value_text, (100, 400))

    pygame.display.flip()
    clock.tick(30)

pygame.quit()

Parameters

  • x (int): X-coordinate for slider position.
  • y (int): Y-coordinate for slider position.
  • min_value (int): Minimum value of the slider range.
  • max_value (int): Maximum value of the slider range.
  • initial_value (int): Starting value of the slider.
  • theme_name (str): Name of the theme folder containing assets (images for handler, bar, etc.).
  • theme_path (str, optional): Custom path to the theme directory if assets are not located in the default theme folder.

Documentation

Methods

load_image(image_name, theme_name, theme_folder_path=None)

Loads an image from the specified theme directory.

get_rect()

Returns the Pygame rectangle (Rect) of the slider bar.

listen_event(event)

Listens to and handles mouse or touch events for updating the slider’s handler position.

get_current_value()

Calculates and returns the slider's current value based on handler position.

render(screen)

Renders the slider's components (bar, handler) on the specified screen.

Asset Customization

To customize the slider's appearance, you can create new images for the slider's handler and bar components in a folder with your chosen theme_name. Place this folder in the theme directory or specify the path using theme_path.

Example Theme Folder Structure

project_root/
├── theme/
│   ├── default_theme/
│   │   ├── handler.png
│   │   ├── bar_center.png
│   │   ├── bar_corner.png
│   └── custom_theme/
│       ├── handler.png
│       ├── bar_center.png
│       ├── bar_corner.png
└── main.py

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Enjoy using PySinglSlider! Contributions, bug reports, and suggestions are welcome.

Metadata

Release files for py-singl-slider 1.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-singl-slider 1.0.7
File Size Uploaded
py_singl_slider-1.0.7.tar.gz 7.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-singl-slider 1.0.7
File Interpreter ABI Platform
py_singl_slider-1.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 14.1 kB

Release files / py_singl_slider-1.0.7.tar.gz

Download URL py_singl_slider-1.0.7.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b1b0de7115520d8727c8803819f32ad259709116a498a689014f13152374719c
BLAKE2b-256 checksum
How to use checksums
0410f3a772db1012b82dc15750f03a1e0c97a7cdc63389652e3651a298739f9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / py_singl_slider-1.0.7-py3-none-any.whl

Download URL py_singl_slider-1.0.7-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c34168c9e63169f11d1c6db956ee31a9cc4abc9ce742f8174f83c5f3e81b3e2
BLAKE2b-256 checksum
How to use checksums
f641b41aa4e404b11f58ff337a063776686618be806744dbdc13e2a9155d80b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

1.0.7 This release

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page