Add versions for PySide6, PyQt6 & PySide2.
Break down examples into module files to make easier to read. Use full-definitions on Enums (PyQt6 compatible, better documenting). Add fixes for Qt6 versions & some general bugfixes.
This commit is contained in:
98
README.md
98
README.md
@@ -1,62 +1,92 @@
|
||||
# 15 Minute Apps
|
||||
# Python GUIs Examples
|
||||
|
||||
A collection of 15 small — *minute* — desktop applications written in Python
|
||||
using the PyQt framework. These apps are intended as examples from
|
||||
which you can poke, hack and prod your way to writing your own tools.
|
||||
**This repository contains 100s of GUI examples written in Python**. From complete working applications to reusable widgets snippets, these examples can
|
||||
be _freely_ re-used, re-mixed and tweaked to build your own Python GUI applications.
|
||||
|
||||
> Many of these apps have more detailed write-ups on my PyQt5/PySide2 site at [LearnPyQt.com](https://www.learnpyqt.com/apps/).
|
||||
If you're new to creating GUI apps check out the introductory [pyqt5 tutorial](https://www.learnpyqt.com/courses/start/).
|
||||
Examples are available for
|
||||
[PyQt6](https://github.com/pythonguis/15-minute-apps/tree/master/pyqt6),
|
||||
[PySide6](https://github.com/pythonguis/15-minute-apps/tree/master/pyside6),
|
||||
[PySide2](https://github.com/pythonguis/15-minute-apps/tree/master/pyside2)
|
||||
and [PyQt5](https://github.com/pythonguis/15-minute-apps/tree/master/pyqt5)
|
||||
|
||||
## The apps
|
||||
> Many of these examples have more detailed write-ups on the [Python GUIs website](https://www.pythonguis.com/). If you're new to creating GUI apps check out the introductory [PyQt6 tutorial](https://www.pythonguis.com/pyqt6-tutorial/) or [PySide6 tutorial](https://www.pythonguis.com/pyside6-tutorial/).
|
||||
|
||||
## The demo apps
|
||||
|
||||
The apps showcase various parts of the Qt framework, including advanced widgets,
|
||||
multimedia, graphics views and decorationless windows. However, the most
|
||||
generally interesting/feature complete applications are Minesweeper, Solitaire
|
||||
and Paint.
|
||||
|
||||
1. [Web Browser (untabbed)](browser/) - "MooseAche"
|
||||
1. [Web Browser (tabbed)](browser_tabbed/) - "Mozzarella Ashbadger"
|
||||
1. **[Minesweeper](minesweeper/) - "Moonsweeper"**
|
||||
1. [Notepad](notepad/) - "No2Pads"
|
||||
1. [Calculator](calculator/) - "Calculon" (QtDesigner)
|
||||
1. [Word Processor](wordprocessor/) - "Megasolid Idiom"
|
||||
1. [Webcam/Snapshot](camera/) - "NSAViewer"
|
||||
1. [Media Player](mediaplayer/) - "Failamp"
|
||||
1. [Post-it Notes](notes/) - "Brown Note" (QtDesigner)
|
||||
1. **[Paint](paint/) - "Piecasso" (QtDesigner)**
|
||||
1. [Unzip](unzip/) - "7Pez" (QtDesigner)
|
||||
1. [Translator](translate/) - "Translataarrr" (QtDesigner)
|
||||
1. [Weather](weather/) - "Raindar" (QtDesigner)
|
||||
1. [Currency converter](currency/) - "Doughnut" (PyQtGraph)
|
||||
1. **[Solitaire](solitaire/) - "Ronery" (QGraphicsScene)**
|
||||
1. Web Browser (untabbed) - "MooseAche"
|
||||
1. Web Browser (tabbed) - "Mozzarella Ashbadger"
|
||||
1. Minesweeper - "Moonsweeper"
|
||||
1. Notepad - "No2Pads"
|
||||
1. Calculator - "Calculon" (QtDesigner)
|
||||
1. Word Processor - "Megasolid Idiom"
|
||||
1. Webcam/Snapshot - "NSAViewer"
|
||||
1. Media Player - "Failamp"
|
||||
1. Post-it Notes - "Brown Note" (QtDesigner)
|
||||
1. Paint - "Piecasso" (QtDesigner)
|
||||
1. Unzip - "7Pez" (QtDesigner)
|
||||
1. Translator - "Translataarrr" (QtDesigner)
|
||||
1. Weather - "Raindar" (QtDesigner)
|
||||
1. Currency converter - "Doughnut" (PyQtGraph)
|
||||
1. Solitaire - "Ronery" (QGraphicsScene)
|
||||
|
||||
## The widgets
|
||||
|
||||
|
||||

|
||||
**Graphical Equalizer** Visualize audio frequency changes with configurable styles and decay.
|
||||
|
||||

|
||||
**Power Bar** Rotary control with amplitude display.
|
||||
|
||||

|
||||
**Palette** Select colors from a configurable linear or grid palette.
|
||||
|
||||

|
||||
**Linear Gradient Editor** Design custom linear gradients with multiple stops and colors.
|
||||
|
||||
**Color Button** Simple button that displays and selects colors.
|
||||
|
||||
**Paint** Draw pictures with a custom bitmap canvas, with color and pen control.
|
||||
|
||||
**Password Edit** A password line editor with toggleable visibility action.
|
||||
|
||||

|
||||
Replace checkboxes with this handy toggle widget, with custom colors and optional animations.
|
||||
|
||||
## The tutorials
|
||||
|
||||
As well as the complete apps & re-usable widgets we've got selection of code snippets taken from tutorials on the [Python GUIs](https://www.pythonguis.com) website. These guide you through building GUIs with PyQt, PySide and other libraries.
|
||||
|
||||
## Getting started
|
||||
|
||||
To use each app you first need to install the requirements. In most cases
|
||||
the only requirements are PyQt5, and occasionally requests. To install
|
||||
app-specific requirements change to the folder of the app and run:
|
||||
the only requirements are the GUI library and occasionally requests. To install
|
||||
example specific requirements change to the folder of the example and run:
|
||||
|
||||
pip3 install -r requirements.txt
|
||||
|
||||
Once the requirements are installed, you can run the app using Python 3.
|
||||
|
||||
python3 <filename>.py
|
||||
|
||||
Once the requirements are installed, you can run the app. Every example in this repo comes with a main Python file called `main.py` to keep things simple.
|
||||
|
||||
python3 main.py
|
||||
|
||||
The application window should appear.
|
||||
|
||||
## Want to build your own apps?
|
||||
|
||||
> If you think these apps are neat and want to learn more about
|
||||
PyQt in general, take a look at my [PyQt5 tutorial](https://www.learnpyqt.com)
|
||||
which covers everything you need to know to start building your own applications with PyQt.
|
||||
take a look at my [PyQt6 tutorial](https://www.pythonguis.com/pyqt6-tutorial)
|
||||
which covers everything you need to know to start building your own applications with Python.
|
||||
|
||||
You can also find write-ups about these "minute apps" [on the same site](http://www.learnpyqt.com/apps).
|
||||
You can also find more write-ups and tips [on the same site](http://www.pythonguis.com/).
|
||||
|
||||
## License
|
||||
|
||||
All code is **licensed under an MIT license**. This allows you to re-use the code freely,
|
||||
remixed in both commercial and non-commercial projects. The only requirement is to
|
||||
include the same license when distributing.
|
||||
All code is **licensed under an MIT license**. This allows you to re-use the code freely, remixed in both commercial and non-commercial projects. The only requirement is to include the same license when distributing.
|
||||
|
||||
## Other licenses
|
||||
|
||||
|
||||
Reference in New Issue
Block a user