Comments (5)
Reference commit b21d163 and main.py at this point in history for what the GUI will need. Strictly speaking, this commit is related only to loan and repayment information.
from pythonloanladder.
I think PyQt5 is going to be the framework of choice for integration with matplotlib. I'm going to play around on a new branch (PyQT) with it and try to get familiar with it. The integration is pretty good, apparently matplotlib can just nest inside a Qt window as a child.
from pythonloanladder.
Check out the PyQt branch for inspiration and guidance on PyQt and matplotlib integration. It's not commented, but it's relatively straightforward. 90% of the code in Window.py is boilerplate just to get the window showing. The plotting functionality in AmortizationView.py had to be refactored slightly to operate specifically on a figure instead of calling plot directly.
from pythonloanladder.
I think a good option for AmortizationView now is to be split off into two classes, one standalone application which can run by itself, and another which can be a child figure in a window. The child figure would follow the example given here https://matplotlib.org/3.1.1/gallery/subplots_axes_and_figures/custom_figure_class.html#sphx-glr-gallery-subplots-axes-and-figures-custom-figure-class-py.
from pythonloanladder.
AmortizationView and Window classes are refactored and working as expected at the moment.
Further improvements will be along the lines of interactivity. Sliders, text input, visualization, etc.
Closing this issue as we are moving out of scope. PyQT5 is a decent window library for a desktop application, and we're at a point where it's going to be a time to decide if it will be better to continue with the desktop app or move the entire thing into a web framework.
from pythonloanladder.
Related Issues (14)
- UT - RepaymentSchedule needs to be more thoroughly tested. HOT 2
- Interactive plotting with additional payments
- Implement sorting of loans based on other criteria
- Moving forward HOT 1
- Implement a basic web app with all the functionality currently offered by the program. HOT 1
- Add loan creation/modification controls to the GUI
- Loan Consolidation/Refinancing
- Class representing the repayment (amortization) of a loan HOT 3
- Class needed to represent a collection of loans. HOT 3
- Lifecycle Simulation HOT 1
- Make the application more interactive HOT 3
- Implement more functionality related to loan comparison
- Implement basic loan simulation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pythonloanladder.