Main Area and Open Discussion > General Software Discussion
Notepad Based Calculators
c-sanchez:
I am looking for a calculator that works as a Notepad.
Probably one of the best known is Soulver
I am looking for one that is as good as Numara, but lighter and faster to start up.
Here is a list of the ones I have found.
In the first answer I leave what I am trying to do.
Numara Calculator
System: CrossPlatform (Electron Based) & Online
Price: Free
Source Code: Open Source
Variables Support: Yes
Size: 253mb~ Installed in Windows
Tally
System: Online, (can run locally using node)
Price: Free
Source Code: Open Source
Variables Support: Yes
Notepad Calculator
System: Online
Price: Free
Source Code: Closed
Variables Support: Yes
Tauri NoteCalc
System: CrossPlatform (Tauri based)
Price: Free
Source Code: Open Source
Size: 5mb~ Windows exe
Variables Support: Yes
Numi
System: Mac
Price: Paid
Source Code: Close
Calculon
System: CrossPlatform (Java Based)
Price: Free
Source Code: Open Source
Variables Support: No
Size: 143mb~ (Includes Java Runtime)
OpalCalc
System: Windows (Requires .net 3.5 or higher)
Price: Paid / Free (Limited)
Variables Support: Yes
Source Code: Closed
Size: 350kb~
c-sanchez:
Using ChatGPT I have tried to create a calculator like the one I am looking for.
With Python and PyQt6, to make it cross-platform.
With mathjs, so that it has all its functions.
With QuickJS, to have a lightweight Javascript interpreter, so you can have mathjs updated without any problem.
There is mathjs for Python, mathjspy, however, it is not updated often
This is the source code of the program so far:
QuickMathPadimport sys
from PyQt6.QtWidgets import QApplication, QWidget, QTextEdit, QHBoxLayout
from PyQt6.QtCore import Qt
from quickjs import Context
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("QuickMathPad")
self.setMinimumSize(512, 320)
self.resize(512, 320)
self.layout = QHBoxLayout()
self.setLayout(self.layout)
self.text_edit_left = QTextEdit()
self.layout.addWidget(self.text_edit_left)
self.text_edit_right = QTextEdit()
self.layout.addWidget(self.text_edit_right)
self.text_edit_left.textChanged.connect(self.evaluate_expression)
self.context = Context()
self.context.eval(open("math.js").read())
def evaluate_expression(self):
lines = self.text_edit_left.toPlainText().split('\n')
results = []
for line in lines:
try:
result = self.context.eval(line)
results.append(str(result))
except Exception as e:
results.append(str(e))
self.text_edit_right.setText('\n'.join(results))
app = QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec())
Things I would like to correct:
Allow comments using #
Fix bugs like using percentage '%', blank lines showing as "None".
In general, make it have the same functionality as Numara.
If someone knows Python and wants to fix these problems it would be great.
Or create your own version in some fast, portable and lightweight language?
Such as Lua, AutoHotKey, etc, Rust?
c-sanchez:
In fact I just found that there is such a Calculator written in Rust ;D
https://erhanbaris.github.io/smartcalc-app/
rjbull:
Did you forget you started a similar thread here before - notepad calculator?
Did CalcTape not suit you?
Target:
how about QuikTape?
Navigation
[0] Message Index
[#] Next page
Go to full version