【软件开发】Pyside6实现简单计算器

开发环境

Python3.8, Pyside6

使用界面、源码与不同之处

abCalculator

界面没有很不一样,不同可能体现在键位上。

为了有与优秀的小键盘来计算一样的舒适,在保留原有普通键位的基础上,还增加了魔改键位(详见Github)

遇到的问题与解决方案

具体实现都见Github源码

  • keyboard添加热键,把快速连续按不同的热键,识别成新的热键,导致输入缓慢
    • 一个热键触发后,采用keyboard.stash_state()清空
  • 当前窗口为未活跃状态(不是系统聚焦的窗口),热键仍响应
    • [创建的窗口实例/self].window().isActiveWindow()[创建的窗口实例/self].window().isMinimized()可以判断窗口是否活跃
    • 热键调用的函数用匿名函数lambda,匿名函数内再调用一个函数,加入条件判断后,再执行我们需要的函数
  • 输出过长,导致窗口显示不下
    • 把实际的内容和显示的内容分开想,我这里采用只取实际内容的后十几位作为显示内容
    • 或可以采用QLineEdit,加上样式background:transparent;border-width:0;border-style:outset;
    • 亦可以采用QtQuick