QLineEdit
дает вам QString
, содержащее математическое выражение.Этот тип не может быть преобразован в double
, если он не содержит ничего, кроме двойного.Например, текст «10.34» может быть преобразован из QString в double, но текст «10.34 - 18 + 2» не может, потому что он должен быть оценен первым.
Вам необходимо передать текст QLineEditв синтаксический анализатор математических выражений.Вы можете написать свой собственный, если вам нужно только обрабатывать простую арифметику.Это полезное упражнение, и вы можете найти множество примеров в Интернете, в том числе на SO.Если вам нужен более сложный синтаксический анализ или вы спешите, вы можете воспользоваться Google для C++ math parser
или аналогичным и использовать существующий код.