Python + QT solution