QT 科学计算器与谷歌拼音输入法实现

由于公司近期Unity项目已完成,而刚好公司的QT项目需要开发科学计算器与拼音输入法。所以就尝试着使用QT进行开发实现这些功能,可以在windows与linux环境下运行。记录一下开发过程,备忘。

效果图如下:

QT 科学计算器与谷歌拼音输入法实现_第1张图片
关于科学计算器

  • 支持的双目运算符有:( ) ^ * / % + - << >> #(a#b 取a的第b个字节 b[0,3] 0从低位开始)

  • 支持的单目运算符有:+(正) -(负) sin cos exp sqrt log ln abs tg ctg asin acos atg
    科学计算器功能主要使用了:逆波兰表达式算法。网上的资料还是很多的,不清楚的可以多看看。
    主要步骤:
    1、获取输入框中的字符串
    2、将得到的字符串进行分离运算符号和数字,保存在QVector中。并对输入的合法性进行校验
    3、将步骤2中分割好的表达式数组,转化为逆波兰表达式并存在QVector中。
    4、对公式进行计算

关于输入法
对于软键盘的布局网上很多例子可以参考,我也是参考网上拿过来改一改的
主要实现

  • 中英文输入切换
  • 大小写切换
  • 光标左右键移动
  • 更换皮肤
    关于拼音输入
    一开始想自己写,但是功能比较弱,后来就集成的谷歌拼音。对谷歌拼音源码进行编译,然后以静态库的形式添加进项目中。
    运行效果如下:
    QT 科学计算器与谷歌拼音输入法实现_第2张图片

主要步骤
1、加载字库
2、匹配输入
3、对匹配的结果进行分布
4、显示结果
Tips
如果更换运行环境,记得要对谷歌拼音进行重新编译,重新添加静态库

你可能感兴趣的:(QT)