Simple CSS-like language which allows for drawing and styling wxPython elements.
Project description
UI Style Lang (Language)
UI Style Lang is a simple CSS-like language which allows for drawing and styling wxPython elements. Many UI Style Lang properties are the same as the normal (not short-hand) CSS3 properties. This provides a familiar syntax, especially for those with experience with CSS3.
If you are looking for an easy way to:
- Draw shapes, text and/or images in wxPython without worrying so much about ids, brushes, pens, etc.
- Style the native wxPython widgets from a stylesheet
- Create your own custom widgets in wxPython that can be styled with a CSS-like stylesheet
...then UI Style Lang is likely the module you're looking for.
WIP/ TODO
- SVG support(?)
Features
-
Written in pure Python with minimal dependancies (just wxPython and the standard library)
-
Drawing API
- Includes the
UIStylePDC
UI Style Lang class which is a powerful extension of the wxPythonwx.PseudoDC
- Over 15 stylesheet properties already supported
- Draw circles, rectangles, squares, images, & text
- Translate & rotate elements
- Load styles from inline styles, string and/or an external stylesheet
- Auto-handles wxPython IDs, with support for manual-handling of IDs
- Includes the
-
Native Widget Styling API
- Supports loading from a stylesheet for easy theming
- Support for styling app, panels, frames and static text widgets
...and more.
Usage and Examples
See the documentation at Read the Docs and full demo examples for information on usage...
What does the syntax look like?
UI Style Lang (Stylesheet API) example:
/* My custom button styles */
@style button {
background-color: #F4F4F4;
top: 20px;
left: 40px;
width: 115px;
height: 35px;
border-color: #D1D1D1;
border-size: 2px;
}
@style button:hover {
background-color: #FDFDFD;
top: 20px;
left: 40px;
width: 115px;
height: 35px;
border-color: #D1D1D1;
border-size: 2px;
}
Python API example:
# Intilizing the element: <div id="button"></div>
>> dc.InitElem("button")
# Editing the style with inline styles: <div id="button" style="border-color: red; border-width: 4px;"></div>
>> dc.UpdateElem('button', styles="border-color: red; border-width: 4px;")
# Update the element with the 'hover' styles: <div id="button" class="hover"></div>
>> dc.UpdateElem('button:hover')
Development
Pull requests and/or feature suggestions are welcome!
License
UI Style Lang is licensed under the BSD 3-Clause license
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
File details
Details for the file uistylelang-0.8.5.tar.gz
.
File metadata
- Download URL: uistylelang-0.8.5.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | caab7ef665b4cd974b4d54e3c0a3dfa140d37862644085ff7e76ac833153aa3e |
|
MD5 | 78e4d17c3247403123e657762a3cec73 |
|
BLAKE2b-256 | d7c5bb40f4030cc8f4ab7ca43c7f32d3d36a6fa904997539bad08fb6c6c0e0d3 |
File details
Details for the file uistylelang-0.8.5-py3-none-any.whl
.
File metadata
- Download URL: uistylelang-0.8.5-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28a7b073bde5877bb598851bad896c48cf6ef8db44bf02e982f02e931dbea536 |
|
MD5 | d7fb4bd701679b93cd34f371fb413956 |
|
BLAKE2b-256 | 752c34f896ad00f9cd8ddd979aae457a5b5c73a39fd744e6fa99ac4eae546e93 |