实现了什么功能
一个计算器
部分源码解析
使用了自定义的QToolButton,有什么特殊地方:统一设置了sizePolicy,还有对默认的大小进行了调整。
unaryOperator 一元操作符,比如平方std::pow(operand, 2.0);和倒数计算
1
2
enum { NumDigitButtons = 10 };
Button *digitButtons[NumDigitButtons];//数组大小可用enum
createButton方法接收一个模板参数,该参数是一个函数指针。5.15.2版本是用const char *member接收SLOT(pointClicked())
正负号要用 tr(“\302\261”)
MC=clearMemory
MR=readMemory
MS=setMemory 计算出最终结果后,将结果存储到内存中
M+=addToMemory 计算出最终结果后,将结果加到内存中
有数字键盘上数字1-9的布局计算方法。
通过sender()获取信号发送者,然后通过qobject_cast转换成Button类型,然后获取text
backspace删除使用text.chop(1);删除最后一个字符
参考
https://doc.qt.io/qt-6/qtwidgets-widgets-calculator-example.html