Skip to main content

A customizable star rating widget for CustomTkinter applications.

Project description

CtkRatingStar

A customizable star rating widget for CustomTkinter applications. This widget provides an intuitive and visually appealing way to implement rating functionality in your CustomTkinter projects.

{318EAF2F-AE07-4A1A-91C1-E1E98727C51B}

Features

  • Customizable number of stars
  • Smooth hover effects
  • Current value display
  • Optional title and rating label
  • Easy integration with existing CustomTkinter applications

Installation

# Clone the repository
git clone https://github.com/ZachVFXX/CtkRatingStar.git

# Navigate to the project directory
cd ctk-star-rating

# Install required dependencies
pip install customtkinter Pillow

Usage

Here's a simple example of how to use the CtkStarRating widget:

import customtkinter as ctk
from ctk_star_rating import CtkStarRating

class App(ctk.CTk):
    def __init__(self):
        super().__init__()
        
        # Create the star rating widget
        star_rating = CtkStarRating(
            self,
            number_of_stars=5,     # Number of stars to display
            current_value=3,       # Initial rating value
            title="Rating:",       # Optional title
            current_value_label="/5" # Optional value label
        )
        star_rating.pack(pady=10)
        
        # Get the current rating value
        value = star_rating.get_value()

if __name__ == "__main__":
    app = App()
    app.mainloop()

Customization Options

The CtkStarRating widget accepts the following parameters:

  • number_of_stars (int): Number of stars to display (default: 5)
  • current_value (int): Initial rating value (default: 1)
  • title (str, optional): Title text to display above the stars
  • current_value_label (str, optional): Label to display after the current value

Required Assets

The widget requires the following image assets in the assets directory:

  • full_star.png: Filled star image
  • empty_star.png: Empty star image
  • full_star_hover.png: Filled star hover state
  • hover_star.png: Empty star hover state

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

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

Author

Acknowledgments

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

ctkratingstar-0.0.1.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

CTkRatingStar-0.0.1-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file ctkratingstar-0.0.1.tar.gz.

File metadata

  • Download URL: ctkratingstar-0.0.1.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for ctkratingstar-0.0.1.tar.gz
Algorithm Hash digest
SHA256 74edea6d3f29d380f9edf78bec159cc5d345c97644e76946856ba10a3acb0dea
MD5 24007b9e464733ba6f00242eff6de74b
BLAKE2b-256 be5f905f48171642ae3b3007bba6f11fce1b0e2aadca1824c30dd2b95cb36a0c

See more details on using hashes here.

File details

Details for the file CTkRatingStar-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for CTkRatingStar-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d38f1fe41fe4cd4b9c245f14e9e7e4653324e660db1764b29ca2feefef7347da
MD5 f144fa6b560967f08ede38f4457f1f9c
BLAKE2b-256 ebe1e870a71a9403ed9dfb9400ebb74ca8979dae5b5f260404dd3cc61109bce0

See more details on using hashes here.

Supported by

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