A modern, customizable time picker widget for PySide6
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:
- Email: nextwavetchsolutions@gmail.com
- GitHub: @nextwavetchsolutions
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file timepicker_control-1.0.6.tar.gz.
File metadata
- Download URL: timepicker_control-1.0.6.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d41b7332ac035cf8dbd2b2cafbf0fe39329099773060b0976b2040100c1eeb7a
|
|
| MD5 |
5014fbd90237b84f9a1a104bc735dced
|
|
| BLAKE2b-256 |
4034aa86027e49000bd6b3d5d7c1cce29f5b9aa4d025de81691724310e1981a8
|
File details
Details for the file timepicker_control-1.0.6-py3-none-any.whl.
File metadata
- Download URL: timepicker_control-1.0.6-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c93784302fdb44c4de585f0a8e656a686d3eec32ed497863ed42bb6f4d3d188
|
|
| MD5 |
b7c32f7363780ea09ab1f3a5bf0aa084
|
|
| BLAKE2b-256 |
44db3f1b3be2b72a3354a87c1d82b34ae54975d043eb9b93cf646b4ebf8492cb
|