2 Qt做一个简易计算器(一)

准备工作

打开安装好的Qt Creator,新建一个Qt widget项目,运行一下不报错,确认编译器配置成功。

控件介绍

界面设计窗口可以通过拖拽轻松添加控件,下面列举即将用到的所有控件:

  • Label :标签,普遍用来显示文字/图片;
  • PushButton :较为常用的普通按钮;
  • TextEdit :富文本编辑框;

2 Qt做一个简易计算器(一)

布局介绍

  • QHBoxLayout :水平显示布局,所有在其上面摆放的控件只能水平排列下去;
  • QVBoxLayout :垂直显示布局,所有在其上面摆放的控件只能垂直排列下去;
  • QGridLayout :格子显示布局,可以按照表格的形式显示布局;

合理的布局有利于创建自动适配大小的窗体,例如避免下面这个情形的尴尬:(窗体大小调整之后控件大小和位置并没自动适配
2 Qt做一个简易计算器(一)

功能逻辑

  • 数字键 :点击之后输入框显示相应数字;
  • 运算键 :点击之后输入框现实相应运算符,并切割操作数,存储到变量;
  • 等号按键 :点击之后输入框现实等号,切割操作数,完成运算,显示结果;
  • 其它功能键:例如清空退格键……
    2 Qt做一个简易计算器(一)

界面设计

布局设计

  • 添加控件:先拉过来一个QGridLayout,一个个把控件填进去。(技巧:按钮比较多,复制粘贴走起来);
  • 整体布局: 选中MainWindow,右击,选择布局,然后选择在整体布局中布局
  • 有些控件需要占用几个格子:⬅️占两格,拉动左右边界线直到填满两格松开即可。结果标签占整行,就拉到最右边;
  • 按钮大小如何适配整个格子:属性里面设置水平策略垂直策略为Expanding。(技巧:选中所有按钮以及需要设置的其它类型控件,统一设置,全部生效);
  • TextEdit大小适配过程中还是很别扭怎么办:往往是大小有时候大得过分,或者小得很不合时宜。此时把maximumSize属性用起来,设置一下最大尺寸/最小尺寸即可。

美化

  • 字体: 字体种类、大小等,必要时候考虑国际化问题;
  • 控件间隔: 按钮之间连着,会显得布局太紧密,区分不明显。
    解决方案:可以考虑QGridLayout的以下属性:
    2 Qt做一个简易计算器(一)

美化升级

  • 资源文件:添加背景图片(添加资源方法:有机会再填坑)
  • styleSheet:有些类似前端代码(有机会这坑得填)

布局差不多了,功能下次再写吧。