Skip to content

Commit 46f77c2

Browse files
author
Kadir Aksoy
committed
1.0.0
1 parent f770b57 commit 46f77c2

32 files changed

+2737
-1431
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
__pycache__/
22
dev/
3+
dist/
4+
olddist/
5+
pyqt5Custom.egg-info/

README.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,11 @@
22
<p>
33
<img src="https://img.shields.io/badge/python-3.6%2B-green">
44
<img src="https://img.shields.io/badge/license-GPL%203.0-blue.svg">
5-
<img src="https://img.shields.io/badge/version-0.0.4-orange">
5+
<img src="https://img.shields.io/badge/version-1.0.0-orange">
66
</p>
7-
More useful and stylish widgets for PyQt5 such as toggle switches, animated buttons, etc..
7+
More useful and stylish widgets for PyQt5 such as toggle switches, animated buttons, etc..
88
<br>
9-
<img src="https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/data/showcase.gif" width="500">
10-
11-
**DISCLAIMER:** \
12-
Currently most widgets can't use style sheets properly so you have to use attributes to stylize them. I'm working on removing this inconvenience and make their usage as close as to base Qt widgets
9+
<img src="https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/data/showcase.gif" width="500">
1310

1411
## Table of Contents
1512
- [Installing](#Installing)
@@ -22,8 +19,15 @@ Currently most widgets can't use style sheets properly so you have to use attrib
2219
- [License](#License)
2320

2421
## Installing
25-
The module (version 0.0.4) is not on PyPi yet, so you have to manually download `pyqt5Custom` folder. Version 0.0.5 will be on PyPi. \
26-
You can also use PySide2 instead of PyQt5 with just litte changes.
22+
Install using PIP (it might be `pip3` or `python3` depending on your platform)
23+
```
24+
pip install pyqt5Custom
25+
```
26+
or
27+
```
28+
python -m pip install pyqt5Custom
29+
```
30+
Also you can also use PySide2 instead of PyQt5 with just litte changes.
2731

2832
## Usage
2933
Just import `pyqt5Custom` and you're ready to go. You can check out [Examples](https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/), one little example for ToggleSwitch widget:
@@ -45,6 +49,7 @@ layout.addWidget(togglesw)
4549
| ![ImageBox](https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/data/imagebox.png) <br> **ImageBox** <br> [Documentation](documentation.md) | ![ColorPicker](https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/data/colorpicker.png) <br> **ColorPicker** <br> [Documentation](documentation.md) |
4650
| ![DragDropFile](https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/data/dropfileshowcase.gif) <br> **DragDropFile** <br> [Documentation](documentation.md) | ![EmbedWindow](https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/data/embedwindowshowcase.gif) <br> **EmbedWindow** <br> [Documentation](documentation.md) |
4751
| ![CodeTextEdit](https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/data/codetextshowcase.gif) <br> **CodeTextEdit** <br> [Documentation](documentation.md) | ![TitleBar](https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/data/titlebarshowcase.png) <br> **TitleBar** <br> [Documentation](documentation.md) |
52+
| ![Spinner](https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/data/spinnershowcase.gif) <br> **Spinner** <br> [Documentation](documentation.md) | ![Toast](https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/data/toastshowcase.gif) <br> **Toast** <br> [Documentation](documentation.md) |
4853

4954

5055
## Dependencies

documentation.md

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,17 @@ Here is the list of currently implemented widgets
99
- [EmbedWindow](#DEmbedWindow)
1010
- [CodeTextEdit](#CodeTextEdit)
1111
- [TitleBar](#TitleBar)
12-
- [Misc](#misc)
12+
- [Spinner](#Spinner)
13+
- [Toast](#Toast)
1314

15+
## Other stuff
16+
Other stuff that the the library provides but are not mainly widgets. Some are tools, data classes, etc...
17+
- [RequestHandler](#RequestHandler)
18+
- [FileDetails](#FileDetails)
19+
- [Animation](#Animation)
20+
- [AnimationHandler](#AnimationHandler)
21+
- [ColorPreview](#ColorPreview)
22+
- [SyntaxHighlighter](#SyntaxHighlighter)
1423

1524

1625
## ToggleSwitch
@@ -121,13 +130,21 @@ Here is the list of currently implemented widgets
121130
- `title()` (str) : Get title
122131

123132

124-
# Misc
125-
Other stuff _(which you mostly don't need to know they existed)_ included within the module other than custom widgets
126-
- [FileDetails](#FileDetails)
127-
- [ColorPreview](#ColorPreview)
128-
- [SyntaxHighlighter](#SyntaxHighlighter)
129-
- [Animation](#Animation)
130-
- [AnimationHandler](#AnimationHandler)
133+
# Other stuff
134+
Other stuff that the the library provides but are not mainly widgets. Some are tools, data classes, etc...
135+
136+
## RequestHandler
137+
`RequestHandler` is a thread (QThread) that can be used to handle HTTP requests while avoiding blocking Qt's event loop. You can see [Examples](https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/) to see usage of this class.
138+
139+
#### Methods
140+
- `newRequest(method, url, headers, data)`
141+
- `method` (str) : Request method
142+
- `url` (str) : Address where request will be sent at
143+
- `headers` (dict) : Request headers
144+
- `data` (dict) : Request data
145+
146+
#### Signals
147+
- `requestResponded` : Emitted when a requeest in the current pool gets responded. Response is a [requests.Response](https://docs.python-requests.org/en/latest/api/#requests.Response) object
131148

132149
## FileDetails
133150
`FileDetails` object is a data class which is meant to be used by `DragDropFile` for `fileDropped` signal
@@ -139,14 +156,14 @@ Other stuff _(which you mostly don't need to know they existed)_ included within
139156
- `pureName` (str) : File's name without the extension
140157
- `extension` (str) : File's extension
141158

142-
## ColorPreview
143-
`ColorPreview` is a widget to display some color. It can bee seen used next to ColorPicker example. But this widget is most likely going to be deprecated
144-
145-
## SyntaxHighlighter
146-
`SyntaxHighlighter` inherits `QSyntaxHighlighter`, it's only purpose is to serve `CodeTextEdit` widget. `pyqt5Custom` module currently (version 0.0.4) supports only Python and C++ syntax highlighting.
147-
148159
## Animation
149160
`Animation` is just a static class holding easing animation functions. This class is most likely going to be deprecated when I rework animations.
150161

151162
## AnimationHandler
152163
`AnimationHandler` animates widget's properties using `Animation` class's functions. This class is most likely going to be deprecated when I rework animations.
164+
165+
## ColorPreview
166+
`ColorPreview` is a widget to display some color. It can bee seen used next to ColorPicker example. But this widget is most likely going to be deprecated
167+
168+
## SyntaxHighlighter
169+
`SyntaxHighlighter` inherits `QSyntaxHighlighter`, it's only purpose is to serve `CodeTextEdit` widget. `pyqt5Custom` module currently supports only Python and C++ syntax highlighting.

examples/data/SFPro.ttf

404 KB
Binary file not shown.

examples/data/checkicon.png

10.1 KB
Loading

examples/data/dlicon.png

2.41 KB
Loading

examples/data/homeiconw.png

10 KB
Loading

examples/data/spinnericon.png

54.8 KB
Loading

examples/data/spinnershowcase.gif

77.8 KB
Loading

examples/data/styledbutton.gif

63.5 KB
Loading

0 commit comments

Comments
 (0)