用Qt写计算器,花了我一个晚上终于写出来一个能用的了,能赶上大二学Java时写计算器的速度了。
用Qt Designer设计界面比较方便,用熟之后效率会更高。把界面设计好之后可以通过继承的方式给自己的类添加逻辑。如果设计的界面保存为mycaculator.ui的话,uic将会自动将这个XML文件转换成ui_mycaculator.h,其中的namespace为Ui。
#include"ui_mycaculator.h" class Caculator : public QMainWindow, public Ui::MyCaculator
另外,Qt对字符串的处理简直跟Java一样了:
QString s1 = expStr.split(QRegExp("[+-*/]"))[0]; QString s2 = expStr.split(QRegExp("[+-*/]"))[1]; double d1 = s1.toDouble(); double d2 =s2.toDouble(); resStr = QVariant(d1+d2).toString(); expStr.append(resStr);
总算是迈出了第一步,再接再厉。
更新:上面的正则表达式不对,因为’+’, ‘-‘和’*’在正则表达式中有特殊意义。应该为如下:
QString s1 = expStr.split(QRegExp("[\\+\\-\\*/]"))[0]; QString s2 =expStr.split(QRegExp("[\\+\\-\\*/]"))[1]; double d1 = s1.toDouble(); double d2 = s2.toDouble(); resStr = QVariant(d1+d2).toString(); expStr.append(resStr);
Comments