A simple application for flashcards in the PySide6 GUI framework. This project was built as an exploration of PySide6 and git submodules, as well as for personal use.
The project has only been tested on Linux systems.
- Make sure you have the necessary libraries installed for PySide6:
sudo apt install libxkbcommon-x11-0 libxcb-icccm4 libxcb-keysyms1-
Clone the project.
-
Initialize the submodule:
git submodule update --init --recursive- Create a virtual environment:
python3 -m venv venv/- Activate the virtual environment:
source venv/bin/activate- Install the requirements:
pip install -r requirements.txtTo use the app, run the flashcards/app.py file and pass in the path to the CSV file containing the cards. For example, the command to run the app with the Dutch A1 cards included in the vocabulary submodule:
python3 flashcards/app.py cards/vocabulary/nl-en/nl-en-a1.csvThe user interface is made up of four buttons:
- The topmost button is the current flashcard. This can be clicked to flip it over to the other side.
- The "Know" and "Don't know" buttons mark a card as known or unknown, and advance to the next card in the deck.
- The "Reset deck" button resets the deck to its initial state.
The CSV file containing the cards must be one of the two supported formats:
- Two columns:
Term,Definition. - Four columns:
Term,Term example,Definition,Definition example.
Card files must not have headers.
The app includes this set of vocabulary flashcards as a git submodule.