A Python framework for creating splash screens with videos, images, animated loading bars, threaded rendering, transparency, and dynamic UI support.
Project description
splashscreen-engine
A module for making Splash Screens with videos, images, loading bars, text rendering, and threaded rendering support for your Applications.
Sample Preview
You can find these template codes here: Templates
Template 1 |
Template 3 |
Template 2 |
Template 4 |
Features
- Optional Title Bar
- Dynamic Window Resizing
- Fullscreen Support
- Background videos
- Background images
- Video-powered loading bars
- Text rendering
- Transparency support
- Threaded rendering
- Video looping
- Simple API
Installation
pip install splashscreen-engine
[!NOTE] Windows is currently the primary supported platform.
Quick Start
import splashscreen_engine as splash
screen = splash.Screen()
screen.start()
video = splash.BackgroundVideo(
screen,
"video.mp4"
)
video.play()
screen.wait(5)
screen.stop()
Requirements
These Modules are automatically installed with : pip install splashscreen-engine
- pygame
- opencv-python
- numpy
Functions
Basic Window
import splashscreen_engine as splash
screen = splash.Screen()
screen.size(750, 500)
screen.start()
Stop and Delete Screen
screen.stop()
# Use:
screen.stop(quit_pygame=False)
# if you are using pygame in your own application.
Set Size for your window
screen.size(750,500)
# Arguments:
# width, height, fullscreen
# OR
screen.size(fullscreen=True)
Set title for your window
screen.title("Your Title")
Set Background color
screen.set_bg_color((255,0,0)) # Red
Get Window Size
width,height = screen.get_size()
Window with Title bar (optional)
A title bar is the top bar of a window. It usually contains:
- window title
- close button
- minimize button
- maximize button
- Note : Clicking on Maximize / Minimize button automatically resizes the screen
To create a Title Bar
screen = splash.Screen(title_bar=True)
Functions for Title Bar
Adding an Icon
screen.set_icon("YourIcon.png")
To Check if the user clicked on X button
screen.is_quit()
To check if the user pressed Esc Key during fullscreen
screen.is_escaped()
Note : These functions are only applicable when title_bar = True else it will raise an error.
Wait Function
Instead of using time.sleep(),
you can use this function because it prevents
the window not responding issue.
screen.wait(0.5) # Seconds
Background Video
You can add a video as the background of your splash screen using this function.
video = splash.BackgroundVideo(
screen,
"exampleVid.mp4",
fps=30,
loop=True
)
# loop = True / False
# default(False)
# fps = int
# default(30)
Play video
video.play()
Pause video
video.pause()
Resume video
video.resume()
Delete video
video.delete()
Transparency
Make your video transparent.
Transparency Level:
0 to 255
Default:
120
video.transparency(150)
Stop Transparency
video.stop_transparency()
Stopping / Resuming Video Loops
# Loop Video
video.loop = True
# Stop the Loop
video.stop_loop()
# OR
video.loop = False
To check whether the video is playing or stopped
# Returns True if playing else False
video.playing()
Background Image
You can add an image as the background of your splash screen using this function.
bg_img = splash.BackgroundImage(
screen,
"YourImage.png"
)
bg_img.set()
Progress Bar
This function adds a progress bar.
bar = splash.LoadingBar(
screen,
position="down",
add_xy=(0,-50)
)
# Arguments:
# parent, width, height,
# position, add_xy
bar.place()
# Arguments:
# colour, loading_colour
Video Loading Bar
You can use videos inside the loading area of the progress bar.
video_bar = splash.LoadingBar(screen,width=500,height=25)
video_bar.set_video("Examplevideos/BarVid.mp4")
video_bar.place()
The video automatically fills according to:
video_bar.set_progress(value)
This creates animated loading effects inside the progress bar.
Available Positions
"center"
"right"
"left"
"up"
"down"
Hiding the Progress Bar
bar.hide()
Setting Progress
bar.set_progress(50)
Text
Adds text on the screen.
text = splash.Text(
screen,
"Loading...",
"impact",
20,
position="center",
add_xy=(0,0)
)
# Arguments:
# parent, text, font,
# size, position,
# add_xy, colour
text.show()
Available Positions
"center"
"right"
"left"
"up"
"down"
Show and Hide text
# Show text
text.show()
# Hide text
text.hide()
Edit The Text | Supports Dynamic Editing
This allows you to edit the text dynamically.
Example:
Changing:
f"Loading {i}%"
inside loops.
text.edit(
text = "New Loading Text Added",
font = "IMPACT",
new_size = 20,
position = "center",
add_xy = (0,0),
colour = (0,255,0)
)
add_xy Argument
add_xy allows you to move objects relative to their selected position.
Structure:
add_xy = (x,y)
| Value | Meaning |
|---|---|
Positive x |
Move Right |
Negative x |
Move Left |
Positive y |
Move Down |
Negative y |
Move Up |
Example:
text = splash.Text(
screen,
"Loading...",
position="center",
add_xy=(0,-100)
)
This places the text:
- Horizontally centered
- 100 pixels above the center
Getting Documentation
documentation = splash.Documentation()
Opening Documentation
This opens README.md file on Github
documentation.open()
Contact Details
This prints all the contact details
documentation.contact()
Contributing & Feedback
Discuss approaches, suggest new features, report bugs, or share improvements through GitHub issues and discussions.
Mail:
PyPI:
https://pypi.org/project/splashscreen-engine
Keywords
pygame, splash screen, loading screen, opencv, video rendering, python GUI, pygame framework, splashscreen, animated loader, desktop application, threaded rendering
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 splashscreen_engine-2.0.7.tar.gz.
File metadata
- Download URL: splashscreen_engine-2.0.7.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39101e6de89fcf6e4537df26cedffb4205dfb742a7c16671915ee7855853008d
|
|
| MD5 |
ad3a463c1d4cbefcf3087a4dc663feee
|
|
| BLAKE2b-256 |
78857ac040ad2dbbadc9fff106eda554507d7143694567481ea63e957936954c
|
File details
Details for the file splashscreen_engine-2.0.7-py3-none-any.whl.
File metadata
- Download URL: splashscreen_engine-2.0.7-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
359554e625d4d1630c7a947a0b339a20974b24e47a5a1026745476da0bda4f70
|
|
| MD5 |
88f7db0a1596c7f4691534f329dc7fd0
|
|
| BLAKE2b-256 |
99a55c5cba8b73fa00da95189d9703b0ad88d078ea7970f05cecde08559b27f2
|