
Download Python at:
https://www.python.org/downloads/
Design a tool to manage workspaces, each holding apps and documents, with add, remove, and launch actions, using a combo box for workspace selection and a list widget for apps.
Follow the reading flow from left to right, top to bottom. Minimize dead space and prioritize frequently used workspace and app actions in a compact, editable gui with drag-and-drop deletion.
Download Qt.py at:
https://github.com/mottosso/Qt.py
Review the starting code for a Python tool development project using PySide and PyQt. Examine the initial file structure, author and version metadata, and the import and widget packaging scaffolding.
Create a workspace combobox inside a group box, attach a vertical layout to that group box, and pass the group box into the layout to set its layout, streamlining code.
Set up the app portion using q list widget from the cutesie widgets module, passing keyword arguments to customize colors and drag-and-drop to reorder apps, then return apps list widget.
Explore the model view controller and mvvm patterns, where the model holds data, the view presents the graphical user interface, and the controller links user input to the model.
Create a portable Linux/unix start file, import a collections dictionary and os, define a class holding an ordered workspaces dictionary with get and delete methods, plus Python 3.0 list tweaks.
Demonstrate get apps names function, get app icon, add app, and delete app functions to manage apps via the workspace dictionary and apps list widget.
Reorder apps detects changes, stores updates in a temporary dictionary, and overwrites the original order. Run app uses path checks and subprocess to launch apps or documents across platforms.
Instantiate the model, bind backend data to the GUI using Qt bindings, and visualize data in the GUI, while prioritizing rapid testing to deliver a minimum viable product.
Avoid unnecessary if and else statements to reduce branching and potential errors; instead, leverage dictionaries to handle logic, using available information to streamline decision paths.
Explore testing workflows by adding workspaces and app paths, launching through a combo box, validating updates to the applets widget, and preparing tools to edit them.
Design a PySide and PyQt layout with an add button that opens a qmenu for workspace or file options and a flat delete button with a trash icon.
Hey, fellow programmer! Interested in creating python tools to make your life easier? Want to take your scripts to the next level? Let me teach you how!
This series will walk you through the creation of a custom tool to launch other applications and documents with ease. Whether you know just the basics of python programming or an expert curious about PySide or PyQt, this series will be perfect for you!
The tool we develop will work on:
In this series you'll learn how to:
At the end of this series, you'll be well prepared to create you own tools!
If you have any questions, feel free to message me directly! Thanks for being awesome!