A simple project for the exam of Human Computer Interaction.The Contact Manager implements below properties:
- Visualization of all contacts
- Allow to order contacts by each fiel displayed
- Single contact visualization
- Insertion of a new one
- Contact persistence
- Contact tagging and tag search
- Contact editing
- Full text search.
ViewController
consists of a list of contacts and a line where user can search contact. With a button user open NewContForm
where create a new contact. User can modify and delete contact with the event of doubleclick element of list. Event shows ContactViewForm
where he edit the field of contact. Below there is a rappresentation of the behaviour previously descrined.
The libraries necessary for the use of the program are:
- PyQt5
- qdarkstyle
- pickle
The persistance of contacts was obtained through the module pickle. Contact is an object consisting of four attributes:
- name
- surname
- notes: field text where make some annotation.
This module create a database save.p where the user can store an array of contact.
Once the logic behind the representation and persistance of contacts has been decided, it was decided to use the module PyQt5 to create the GUI. Through this module they were made:
- ContactList using
QTreeView
- A
QPushButton
connected the event of click button with the methodnewContact
- A
QLineEdit
connected the event of text changed with methodfilterRegExpChanged
, that filtering contacts - An event on doubleClick elements of
QTreeView
that shows the ContactView
Any possible improvements to software could be:
- Check if every field of new contact was insert
- Check if the field of new contact was correctly insert
ContactView
contains aQLabel
where it was insert an icon, future developers could replace this icon with a profile image