Skip to main content

A modern, customizable time picker widget for PySide6 with default time settings, minute intervals, and theme support

Project description

TimePicker Control for PySide6

A modern, customizable time picker widget for PySide6 applications, inspired by iOS-style time pickers. Developed and maintained by Next Wave Tech Solutions.

Features

  • Modern, smooth scrolling time picker
  • Customizable themes (Light/Dark/Custom)
  • Adjustable size and appearance
  • Configurable scrolling physics and animations
  • Auto-saving settings
  • Easy integration with existing PySide6 applications
  • Professional support available

Installation

pip install timepicker-control

Quick Start

from PySide6.QtWidgets import QApplication
from timepicker_control import TimePicker

app = QApplication([])
time_picker = TimePicker()
time_picker.show()

# Get the selected time
selected_time = time_picker.get_time()  # Returns a datetime.time object

Advanced Usage

Basic Integration

from PySide6.QtWidgets import QMainWindow, QVBoxLayout, QWidget
from timepicker_control import TimePicker

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        
        # Create central widget and layout
        central_widget = QWidget()
        self.setCentralWidget(central_widget)
        layout = QVBoxLayout(central_widget)
        
        # Create and add the time picker
        self.time_picker = TimePicker()
        layout.addWidget(self.time_picker)
        
        # Connect to time change events
        self.time_picker.timeChanged.connect(self.on_time_changed)
    
    def on_time_changed(self, time):
        print(f"Selected time: {time.strftime('%I:%M %p')}")

Customization

# Set custom colors
time_picker.set_custom_colors(
    text_color="#000000",
    background_color="#FFFFFF",
    highlight_color="#E3F2FD"
)

# Set size
time_picker.set_size(width=320, height=500)

# Configure wheel appearance
time_picker.set_wheel_size(
    item_height=50,
    visible_items=7
)

# Adjust scrolling behavior
time_picker.set_scroll_settings(
    speed=18.0,
    smoothness=0.90
)

# Set animation duration
time_picker.set_animation_duration(950)

Settings Persistence

The TimePicker automatically saves user preferences and restores them between sessions. To reset to defaults:

time_picker.reset_to_defaults()

Requirements

  • Python 3.6+
  • PySide6 6.0.0+

Support

For bug reports and feature requests, please use our GitHub Issues page.

For professional support and custom development, please contact us at:

Contributing

We welcome contributions! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About Next Wave Tech Solutions

Next Wave Tech Solutions specializes in developing high-quality Python packages and custom software solutions. Visit our GitHub profile to see our other projects.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

timepicker_control-1.0.9.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

timepicker_control-1.0.9-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file timepicker_control-1.0.9.tar.gz.

File metadata

  • Download URL: timepicker_control-1.0.9.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for timepicker_control-1.0.9.tar.gz
Algorithm Hash digest
SHA256 4da4d12c9e4350b1734c31819f822629b9254d9cba3c5b52926005537e828aeb
MD5 543fb0406f724819ff70a0954c9241d5
BLAKE2b-256 de2e93c035811a0f5537ddbbfab0ff52a183287d5465c8f55ef31c04d143aa5d

See more details on using hashes here.

File details

Details for the file timepicker_control-1.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for timepicker_control-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d9bbddf1bf66ed3108f2e840fafc198da2bb654614d991aac3a4d08bdd0cabd9
MD5 168aa18f3f5059d39e82a4301c3ab652
BLAKE2b-256 a6a105cb26671c41eaced7ef5127415c67861d65d60f5bc3cf07cac7a25c237f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page