3,365 apps tracked 0 new today 17 updated today Synced 29m ago

Qalculate! (Qt UI)

Powerful and easy to use calculator

Hanna Knutsson ✓ Verified

io.github.Qalculate.qalculate-qt
View on Flathub ↗

Qalculate! is a multi-purpose cross-platform desktop calculator. It is simple to use but provides power and versatility normally reserved for complicated math packages, as well as useful tools for everyday needs (such as currency conversion and percent calculation).

Features include a large library of customizable functions, unit calculations and conversion, physical constants, symbolic calculations (including integrals and equations), arbitrary precision, uncertainty propagation, interval arithmetic, plotting, and a user-friendly interface.

Screenshots

The main window (with keypad hidden)
The main window (with keypad hidden)

Observed history

App ChangeVersionWhen ↓
updated5.13.06 Oct 2026

Upstream releases

Release notes supplied by the developer. These dates are not Flathub package publication times.

5.13.05 Oct 2026

Changes:

  • Add temporary check box to function edit dialog
  • Insert decimal separator (regardless of reported key symbol) when separator key is pressed on keyboard number pad
  • Customizable number bases font
  • Use slightly larger font size and wider letter spacing for binary digits, by default, and add option to use bold font for binary "1"
  • Show tooltip with index and decimal value of bit when mouse is over binary digit in number bases view
  • Preserve base of current expression when switching input number base using keypad buttons
  • New function: ymd() (returns the number of calendar years, months, and days between two dates)
  • Return exact value for more argument values in lambertw() function
  • Integrate sqrt(ax + b)/x and 1/(x × sqrt(ax² + bx + c))
  • Do not use same "n" variable for different unknown integer values in equation result (e.g. e^e^x = 1)
  • Solve e^x = ln(x), a × sin(x) = a × tan(x), and a × sin(x) = −a × tan(x)
  • Solve f(x) = f(x²) and f(x) = −f(x²) for trigonometric functions, and exponentiation
  • Do not return x = −infinity as solution for a^x = 0
  • Fix a = 1 and b = 1 solution for a^x = b when the value of a and b are unknown
  • Fix uncertainty propagation with duplicate equal data set functions
  • Fix division by zero warning for some expressions with zero quantity (e.g. "1 m × 0 kg")
  • Fix trigonometric functions with function in argument not calculated when angle unit is not radians
  • Fix result containing interval with zero as lower value not displayed automatically
  • Fix inconsistent (over)use of secondary exchanges rate sources
  • Fix number of decimals for currency quantity when currency is placed before quantity
  • Minor bug fixes and feature enhancements
5.12.013 Jul 2026

Changes:

  • LaTeX input and output (using latex() function or "$\...$" syntax)
  • Solve a*x^b+c*d^x=0 for real x
  • Solve equations with absolute value and complex x (x*abs(x)=a, x^2*abs(x)=a, and a*f(x)+b*abs(x)=c)
  • Improve simplification of a^(c/d)/b^(c/d) in exact mode (e.g. cbrt(12)/cbrt(4)=cbrt(3))
  • Apply logical and bitwise operation entrywise to vectors and matrices
  • Allow symbols with suffix when input using backslash (e.g. \x_n = "x_n", with n shown as subscript in output)
  • Add argument for reverse conversion to roman(), bijective(), and bcd() functions
  • Add tsp and tbsp abbreviations, change cup to exactly 240 mL (U.S. legal), and add U.S. customary cup, tablespoon, and teaspoon
  • Mixed units conversion improvements/fixes
  • Add "Insert parentheses" shortcut action (default "Ctrl+Shft+("), which always inserts empty parentheses after cursor
  • Fix conversion of feet and inches when using ' and " (e.g. 5'2" to cm)
  • Fix a*x+b*ln(x)=c where sgn(a)!=sgn(b) (only one solution were found)
  • Fix segfault when calculating limit for expression with sinh or cosh (also affects integrals with infinite lower or upper limit)
  • Fix RPN syntax for expressions with multiple functions
  • Fix input of operators with alternate characters popup enabled with plasma-keyboard version 6.7.0 or 6.7.1
  • Minor bug fixes and feature enhancements
5.11.025 May 2026

Changes:

  • Add set functions (union, intersect, setdiff, setxor, isMember, isSubset) and operators (∪, ∩, ∖, ⊖, ∈, ⊆, etc.)
  • Add characters(), count(), digitSum(), and digitalRoot(), find(), popCount(), string(), and while() functions
  • Support negative row and column values in element(), row(), and column() functions
  • Support matrix[row][column] syntax
  • Support text objects in sort() function
  • Add third optional argument to interval() function to allow exclusion of exact endpoints
  • Ignore "to" and "where" (and equivalent symbols) inside quotation marks
  • Ignore dot in front of plus or minus (for consistent behavior in line with entrywise operators)
  • Show "Division by zero" warning for all divisions by zero
  • Make display of expressions with time units in time format more consistent
  • Toggle state of checkboxes in lists (e.g. precalculate checkbox, and in names edit dialog) when clicking anywhere in the column
  • Fix parse status and calculate-as-you-type when "where" expression defines a new symbol
  • Fix support for vector in argument of many functions (erf, mod, exp, etc.)
  • Fix explicit conversion to mixed units for year variants
  • Fix first digit missing in return value of integerDigits() in some cases
  • Fix segfault when Calculator object is destroyed with uninitialized random state
  • Fix infinite loop when referencing subfunction in another subfunction
  • Fix segfault in replace() with variable specified using where expression, e.g. "replace(v, x, 1) where v = x"
  • Fix segfault when data set function name is followed immediately by a single dot
  • Fix v[i]=a syntax for vector element assignment
  • Georgian translation
  • Minor bug fixes and feature enhancements
5.10.030 Mar 2026

Changes:

  • Improve factorization and simplification (particularly with radicals, logarithms, and absolute value)
  • Add ton of refrigeration, slug, mol/dm³, mol/L, and molar units
  • Add pcm, ppm, ppb, ppt, and ppq (parts per …), and lakh and crore variables
  • Add XAG, XAU, XPD, and XPT currencies (precious metals)
  • Use a maximum 4 decimals and minimum of 2 decimals by default for display of value of converted currencies
  • Improve handling of "to mixed" after previous conversion statement (e.g. "1 m to in to mixed")
  • Improve interval calculation, with interval arithmetic, with division by zero and/or both real and complex numbers in derivative of expression
  • Treat 0^0 as undefined (instead of equal to 1), and fix limit for 0^0
  • Set initial random seed using /dev/random
  • Do not show warning about denominators assumed non-zero when converting to expression with non-unit objects
  • Do not show negative exponents (if "negexp" is deactivated) when expressions contains unknown variables, even if all units have negative exponents
  • Do not show possibly real expression in complex exponential form
  • Initial support for comparison of vectors and matrices
  • Allow use of apostrophe as thousands separator in input, when specified as such by locale
  • Fix segfault with recursive variable in "where" expression
  • Fix segfault in some cases when argument in det() contains only a single element
  • Fix wrong simplification of "sin(2-cosh(x)^2/x+x)"
  • Fix negative exponents always used for units with rounding set to (halfway) down or up
  • Fix adaptive interval display for calculate-as-you-type result
  • Fixes and improvements for number bases view
  • Minor bug fixes and feature enhancements