在此前的很多Python案例中都是在Windows PowerShell里运行输入输出,但是不要认为Python只支持这种类似于DOS的命令行方式,事实上除了Web开发,人工智能应用,运维支持,数据挖掘,数据分析等应用外,Python还有一个重要的应用领域就是桌面应用开发,而Python有专门的一个类库Tkinter是用来实现窗体应用的,利用这个类库可以快速实现简单的桌面应用GUI((GraphicalUser Interface)。
本文用一个最简单的案例是说明Tkinter类库是怎么使用的,我们经常要用到Windows自带的计算器,那么是否可以用Python来写一个简单的计算器呢?答案是可以的。
不说废话,直接上代码:
第一段程序定义了点击按钮的功能支持,很简单,其实在这里可以加入一些和业务有关的计算按钮,例如计算项目成本的按钮,添加一个下拉列表,选择不同level,然后根据输入的工作量,立刻就能计算出这个level的resource的成本;再比如,根据人时快速计算出人天,由于不同公司的换算标准不一样,一人天等于7小时,8小时,9小时不等,经过设置就可以快速计算出人时为单位的工作量换算成多少人天。
第二段程序定义了计算机的窗体,加上各个按钮,同样很简单,虽然不能画出来,但用程序写出来也不难。在这里可以增加一些花样,背景色,背景图片,公司LOGO,部门名称,个人一些座右铭什么的,都可以加上——只要你想,就能做到。
程序运行的结果如下:
试用了下这个简单的计算器是可以用的,GUI——图形用户界面,给了用户不一样的用户体验,要知道,当年苹果公司的Macintosh电脑第一次将GUI应用到个人电脑上,直接引发了一场使用软件方式的革命!因此才有了后来Windows系统的横空出世。
当然了,用Python写GUI,除了Tkinter这个类库之外,还有wxpython,pyQt等类库可以用,从一些程序大神的反馈来看,Tkinter这个类库写一些简单的GUI还可以,写复杂的就有点hold不住了,关键在于很多控件是分散的,而且API文档很糟糕,要想查到一个属性或方法是不太容易。存在即合理,对于GUI开发的初学者而言,Tkinter还是一个不错的类库。
从用户界面角度而言,现在的软件设计支持用户使用PowerShell这样的命令行方式来操作应用,也支持桌面应用GUI,同样支持WEB浏览器访问数据和Web系统和服务,现在更支持在手机上上通过APP或者手机浏览器来访问数据和功能服务,除此之外,还有要在桌面office(电子邮件、excel、word、PowerPoint等)、Lync、微信等能够访问到需要的数据和服务,在不同的应用场景下,需要不同的访问方式,这些方式可以实现吗?从技术上而言是可以实现的。但是不同的实现方式难度和工作量是不同的。最终还是要看ROI,即投资回报率,针对不同的应用场景,选择最合适的技术解决方案。
领取专属 10元无门槛券
私享最新 技术干货